鎮ㄥ湪缁堢涓惎鍔ㄧ殑杩涚▼浼氬彂鐢熶粈涔堟儏鍐碉紵(Part1)鍓嶈█鍦ㄨ繖绡囨枃绔犱腑锛屾垜灏嗕富瑕佷粙缁嶄竴涓嬫垜浠湪缁堢绔槸濡備綍鍚姩娴佺▼鐨勶紝浠ュ強鎴戜滑鐧诲綍缁堢鍜岄€€鍑虹粓绔椂浼氬彂鐢熶粈涔堬紵鍩烘湰浠嬬粛鎴戜滑棣栧厛瑕佷簡瑙g殑姒傚康鏄紝褰撴垜浠娇鐢╯sh鐧诲綍鏈嶅姟鍣ㄦ椂锛屼細浜х敓涓€涓猻ession銆傚綋鎴戜滑鍦ㄧ粓绔惎鍔ㄤ竴涓▼搴忔椂锛屼細鍒涘缓涓€涓柊鐨勮繘绋嬬粍銆傝繘绋嬬粍鐨勭涓€涓繘绋嬫槸瑕佹墽琛岀殑绋嬪簭銆傝繖涓繘绋嬬粍鍙互鏄竴涓繘绋嬶紝涔熷彲浠ユ槸澶氫釜杩涚▼銆傛暣涓繘绋嬬粍浠巗hell鐨勮搴︾湅涔熸槸涓€涓猻hell銆傚伐浣溿€傚鏋滀笉浣跨敤&绗﹀彿鏉ユ墽琛屼竴涓▼搴忥紝shell浼氭墽琛岃繖涓▼搴忥紝鐒跺悗杩欎釜绋嬪簭灏变細鍙樻垚涓€涓墠鍙拌繘绋嬬粍锛堝彲浠ユ槸涓€涓繘绋嬶紝涔熷彲浠ユ槸澶氫釜杩涚▼锛夛紝褰撴垜浠湪缁堢鎵ц鐨勫懡浠ゅ鏋滃姞涓?绗﹀彿锛屼綔涓氾紙Job锛夊氨浼氬彉鎴愬悗鍙拌繘绋嬬粍銆俿ession銆佸墠鍙拌繘绋嬬粍鍜屽悗鍙拌繘绋嬬粍鐨勫叧绯诲ぇ鑷村涓嬪浘鎵€绀猴細浠庝笂鍥炬垜浠彲浠ョ湅鍑轰竴涓猻ession涓湁寰堝涓繘绋嬬粍锛屽垎涓哄墠鍙拌繘绋嬬粍鍜屽悗鍙拌繘绋嬬粍锛屼絾鏄悗鍙拌繘绋嬬粍鍙互鏈夊涓紝鍓嶅彴鏈€澶氬彲浠ユ湁涓€涓繘绋嬬粍锛屾瘡涓繘绋嬬粍鍙互鏈夊涓繘绋嬶紙褰撲綘鍦ㄤ竴涓鍦ㄦ墽琛岀殑绋嬪簭涓璮ork涓€涓瓙杩涚▼鏃讹紝灏辨槸涓€涓杩涚▼杩涚▼鍥綋锛夈€備笅闈㈡垜浠敤涓€涓緥瀛愭潵璇︾粏鐞嗚В涓€涓嬶細#include#includeintmain(){//鎵撳嵃杩涚▼鐨刬d鍙穚rintf("processid=%d\n",鑾峰彇鏍囪瘑绗?));//鎵撳嵃杩涚▼鐨勮繘绋嬬粍鍙?琛ㄧず杩斿洖褰撳墠杩涚▼鐨勮繘绋嬬粍鍙穚rintf("processgroupid=%d\n",getpgid(0));//鎵撳嵃杩涚▼鐨勭埗杩涚▼鍙穚rintf("鐖惰繘绋媔d=%d\n",getppid());//鎵撳嵃鐖惰繘绋嬬殑杩涚▼缁勫彿printf("parentprocessgroupid=%d\n",getpgid(getppid()));return0;}涓婇潰绋嬪簭鐨勮緭鍑哄涓嬶細鉃渄aemongit:(master)鉁?/job1.outprocessid=3773445processgroupid=3773445parentprocessid=3766993parentprocessgroupid=3766993浠庝笂闈㈢殑杈撳嚭program鎴戜滑鍙互鐪嬪埌绋嬪簭鐨勮繘绋嬬粍鍙峰拰鐖惰繘绋嬬殑杩涚▼缁勫彿涓嶄竴鏍枫€傛垜浠渶瑕佺煡閬撶殑鏄紝job1鐨勭埗杩涚▼鏄痵hell锛屽彧鏄笉鍚屼簬shell鐨勮繘绋嬬粍銆俿hell姝e湪鎵ц鏂扮▼搴忋€傝繖鏃跺€欎細鍒涘缓涓€涓瓙杩涚▼锛岀劧鍚庝慨鏀瑰瓙杩涚▼鐨勮繘绋嬬粍鍙凤紝鏂拌繘绋嬬粍鐨勭粍鍙峰氨鏄瓙杩涚▼鐨勮繘绋嬪彿銆傛垨鑰呮垜浠彲浠ョ洿鎺ュ湪缁堢杈撳叆鍛戒护鍙戠幇shell鐨勫瓙杩涚▼鐨勮繘绋嬬粍鍙峰拰shell鐨勮繘绋嬬粍鍙蜂笉涓€鏍凤細鉃渄aemongit:(master)鉁梡s-opid,ppid,pgid,tty,cmdPIDPPIDPGIDTTCMD376699337578913766993pts/1/usr/bin/zsh-i377282937669933772829pts/1ps-opid,ppid,pgid,tty,cmd涓婇潰杈撳嚭涓殑PID,PPID,PGID鍒嗗埆浠h〃杩涚▼鐨勮繘绋嬪彿銆佺埗杩涚▼鍙峰拰杩涚▼缁勫彿锛孋MD琛ㄧず鎵ц绋嬪簭鏃剁殑鍛戒护銆傞鍏堟垜浠煡閬損s鍛戒护杩涚▼鏄痵hell杩涚▼鐨勫瓙杩涚▼锛堣繘绋婭D绛変簬3766993鐨勮繘绋嬪氨鏄痵hell杩涚▼锛夛紝浠庝笂闈㈢殑杈撳嚭鎴戜滑涔熷彲浠ョ煡閬擄紙ps鐨凱PID鏄痵hell鐨凱ID锛夈€傞€氳繃涓婇潰涓や釜渚嬪瓙鎴戜滑鍙互鐭ラ亾锛宻hell鍦ㄦ垜浠墽琛岀▼搴忕殑鏃跺€欎細鍒涘缓涓€涓柊鐨勮繘绋嬬粍銆傚叾瀹炲彧瑕佺▼搴忓湪缁堢鎵ц锛屽氨浼氬垱寤轰竴涓柊鐨勮繘绋嬬粍銆傚鏋滀綘鐔熸倝linux锛屼綘涓€瀹氱敤杩?绗﹀彿銆傝繖涓鍙锋槸鍦ㄥ悗鍙版墽琛屼换鍔★紝杩欐牱鍒涘缓鐨勮繘绋嬬粍灏辨槸鍚庡彴杩涚▼缁勩€傚墠鍙拌繘绋嬫浜″垪琛ㄥ墠鍙拌繘绋嬬粍鐨勬浜′竴鑸湁鍥涚鎯呭喌锛氱▼搴忔甯哥粨鏉燂紝姣斿鍦ㄧ粓绔緭鍏s鍛戒护锛屾墽琛屽畬鎴愬悗浼氭甯哥粨鏉熴€傚綋浣犲湪缁堢杈撳叆ctrl+c绛夊瓧绗︽椂锛屽唴鏍镐細鍚戝墠鍙拌繘绋嬬粍鍙戦€佷竴涓俊鍙凤紝濡係IGINT銆傚綋鎺у埗杩涚▼锛屼篃灏辨槸shell杩涚▼琚粓姝紙姣斿killed锛夋椂锛屽唴鏍镐細鍚戝墠鍙拌繘绋嬬粍涓殑鎵€鏈夎繘绋嬪彂閫佷竴涓猄IGHUP淇″彿銆傞€€鍑虹粓绔椂锛宻hell鍚戝墠鍙拌繘绋嬬粍鍙戦€丼IGHUP淇″彿銆傚鏋滀綘缁忓父浣跨敤linux锛屼綘涓€瀹氭湁杩囪繖鏍风殑鎯呭喌锛氬綋浣犲湪缁堢鎵ц涓€涓▼搴忔椂锛岀獊鐒堕亣鍒颁竴浜涢棶棰樹笉鎯虫墽琛岋紝鐒跺悗浣犱細鐤媯鐨勬寜ctrl+c璁╄繖涓▼搴忓嚭鍙c€傞偅浣犲湪缁堢鎸塩trl+c鐨勬椂鍊欙紝绋嬪簭灏变竴瀹氫細鍋滄锛熷鏋滅▼搴忛€€鍑猴紝鏄粈涔堝鑷村畠閫€鍑猴紵瀹為檯涓婏紝褰撲綘鍦ㄧ粓绔腑鎸変笅ctrl+c鏃讹紝鍐呮牳浼氬悜鍓嶅彴杩涚▼缁勪腑鐨勬墍鏈夎繘绋嬪彂閫佷竴涓猄IGINT淇″彿銆傛敞鎰忚繖閲屾槸鍓嶅彴杩涚▼缁勪腑鐨勬墍鏈夎繘绋嬶紝浣嗘槸閫氬父鎴戜滑鍦ㄧ粓绔腑鎵ц鐨勬槸鍗曡繘绋嬩换鍔★紝浣嗘槸濡傛灉鎴戜滑鎵ц鐨勭▼搴忔槸澶氳繘绋嬬殑锛岄偅涔堣繖涓繘绋嬬粍涓殑鎵€鏈夎繘绋嬮兘浼氭敹鍒颁竴涓猄IGINT鏉ヨ嚜鎿嶄綔绯荤粺鍐呮牳鐨勪俊鍙枫€備负浜嗚澶у鍦ㄥ悗闈㈤獙璇佺殑鏃跺€欒兘澶熺悊瑙g▼搴忕殑琛屼负锛屾垜浠厛浠嬬粛涓€涓嬩俊鍙峰鐞嗗嚱鏁扮殑浣跨敤銆傛墍璋撲俊鍙峰鐞嗗嚱鏁板氨鏄綋涓€涓繘绋嬫帴鏀跺埌鍙︿竴涓繘绋嬫垨鑰呮搷浣滅郴缁熷唴鏍稿彂鏉ョ殑淇″彿鏃讹紝鎴戜滑鍙互瀹氫箟涓€涓嚱鏁版潵澶勭悊杩欎釜淇″彿锛屼篃灏辨槸瀹氫箟鎺ユ敹淇″彿鐨勮涓猴細#include#include#include#includevoidsig(intsigno)//signo杩欎釜鍙傛暟鏄俊鍙峰搴旂殑鏁板瓧锛岃〃绀哄搴旂殑鏁板瓧SIGINT淇″彿鏄?{char*s="receivedasignal\n";write(STDOUT_FILENO,s,strlen(s));}intmain(){//褰撴敞鍐屾帴鏀禨IGINT淇″彿鏃讹紝鎴戜滑搴旇浣跨敤浠€涔堝鐞嗗嚱鏁?/褰撹繘绋嬫帴鏀跺埌SIGINT淇″彿鏃讹紝浼氳皟鐢ㄥ嚱鏁皊ig淇″彿锛圫IGINT锛屼俊鍙凤級锛涘悓鏃讹紙1锛夛紱return0;}涓婇潰鐨勭▼搴忚緭鍑虹湅璧锋潵鍍忚繖鏍凤細鉃渄aemongit:(master)鉁?/job4.out^鏀跺埌涓€涓俊鍙穅鏀跺埌涓€涓俊鍙穅鏀跺埌涓€涓俊鍙穅鏀跺埌涓€涓俊鍙穅鏀跺埌涓€涓俊鍙穅鏀跺埌涓€涓俊鍙穅Creeivedasignalfromabove浠庣粓绔殑杈撳嚭鎴戜滑鍙互鐭ラ亾锛屽綋鎴戜滑鍦ㄧ粓绔緭鍏IGINT鏃讹紝杩涚▼浼氭敹鍒颁竴涓猄IGINT淇″彿锛岀劧鍚庤皟鐢ㄤ俊鍙峰鐞嗗嚱鏁皊ig锛屾墽琛屽嚱鏁颁綋銆傜幇鍦ㄨ鎴戜滑灏濊瘯涓€涓杩涚▼浠诲姟锛?include#include#include#includevoidsig(intsigno)//signothisparameter鍗?signal瀵瑰簲鐨勬暟瀛楄〃绀篠IGINT淇″彿瀵瑰簲鐨勬暟瀛椾负2{chars[1024];sprintf(s,"鏀跺埌淇″彿%d\n",getpid());//杈撳嚭鍐呭锛屽厑璁歌繘绋嬪啓鍏ョ殑杩涚▼鍙?STDOUT_FILENO,s,strlen(s));}intmain(){//褰撴敞鍐屾敹鍒癝IGINT淇″彿鏃讹紝鎴戜滑搴旇浣跨敤浠€涔堝鐞嗗嚱鏁?/褰撹繘绋嬫帴鏀跺埌SIGINT淇″彿鏃讹紝浼氳皟鐢ㄥ嚱鏁皊igsignal(SIGINT,sig);鍙夛紙锛?鍙夛紙锛?鍚屾椂锛?锛夛紱return0;}鍦ㄤ笂闈㈢殑绋嬪簭涓紝鎴戜滑fork浜嗕袱娆★紝涓€鍏辨湁鍥涗釜杩涚▼銆備笂杩扮▼搴忕殑杈撳嚭濡備笅锛氣灉daemongit:(master)鉁?/job5.out^Creceivedasignal3702receivedasignal3703receivedasignal3705receivedasignal3704^Creceivedasignal3703receivedasignal3702receivedasignal3705receivedasignal3704^Creeivedasignal3703receivedasignal3704receivedasignal3705receivedasignal3702浠庝笂闈㈢殑杈撳嚭鎴戜滑鍙互鐪嬪埌鍓嶅彴杩涚▼缁勪腑鐨勬墍鏈夎繘绋嬮兘鏀跺埌浜哠IGINT淇″彿銆傚叾瀹炴垜浠湁濡備笅瑙勫垯锛氫换浣曟椂鍒伙紝鍏朵腑涓€涓猻ession锛堟垜浠櫥褰曟湇鍔″櫒灏变細浜х敓涓€涓猻ession锛屾垜浠湪浣跨敤涓€浜涜繙绋嬬櫥褰曡蒋浠剁殑鏃跺€欓€氬父浼氱湅鍒皊ession杩欎釜璇嶏級琛ㄧず涓€涓猻ession銆傝杩涚▼缁勫皢鎴愪负缁堢鐨勫墠鍙拌繘绋嬬粍锛屽叾浠栬繘绋嬬粍灏嗘垚涓哄悗鍙拌繘绋嬬粍銆傚彧鏈夊墠鍙拌繘绋嬬粍涓殑杩涚▼鎵嶈兘浠庢帶鍒剁粓绔鍙栬緭鍏ャ€傚綋鐢ㄦ埛鍦ㄦ帶鍒剁粓绔腑杈撳叆杩欎簺淇″彿涔嬩竴浠ョ敓鎴愮粓绔瓧绗︽椂锛岃淇″彿灏嗗彂閫佸埌鍓嶅彴杩涚▼缁勭殑鎵€鏈夋垚鍛樸€傝繖浜涘瓧绗﹀寘鎷骇鐢烻IGINT鐨勪腑鏂瓧绗︼紙閫氬父鏄疌ontrol-C锛夈€佷骇鐢烻IGQUIT鐨勯€€鍑哄瓧绗︼紙閫氬父鏄疌ontrol-\锛夊拰浜х敓SIGSTP鐨勬寕璧峰瓧绗︼紙閫氬父鏄疌ontrol-Z锛夈€傝皝鍚戝墠鍙拌繘绋嬬粍鍙戦€佷簡SIGINT淇″彿鎴戜滑鍦ㄤ笂闈㈢殑鍐呭涓彁鍒帮細褰撴垜浠寜涓嬩腑鏂锛坈trl+c锛夋椂锛屾墍鏈夌殑鍓嶅彴杩涚▼閮戒細鏀跺埌涓€涓猄IGINT淇″彿銆傚綋鎴戜滑鎸変笅閫€鍑哄瓧绗︼紙ctrl+\锛夋椂锛屾墍鏈夊墠鍙拌繘绋嬮兘浼氭敹鍒颁竴涓猄IGQUIT淇″彿銆傚綋鎴戜滑鎸変笅鎸傝捣瀛楃(ctrl+Z)鏃讹紝鎵€鏈夊墠鍙拌繘绋嬮兘浼氭敹鍒颁竴涓猄IGTSTP淇″彿銆傜幇鍦ㄧ殑闂鏄紝鏄皝鍙戝嚭浜嗚繖浜涗俊鍙凤紵鍏跺疄杩欎簺淇″彿閮芥槸0鍙疯繘绋嬪彂鍑虹殑锛屾垜浠彲浠ョ敤绋嬪簭鏉ラ獙璇佷竴涓嬨€?define_GNU_SOURCE#include#include#include#include#include#include#include#include#includevoidmy_handler(intsigno,siginfo_t*si,void*ucontext){chars[1024];}//si->si_pid鏄彂閫佷俊鍙峰彿鐨勮繘绋嬬殑杩涚▼sprintf(s,"ProcessID=%dsignal=%d\n",si->si_pid,signo);鍐欙紙STDOUT_FILENO锛宻锛宻trlen锛坰锛夛級锛沖exit(0);}intmain(){printf("pid=%d\n",getpid());缁撴瀯sigaction婕旂ず锛沝emo.sa_sigaction=my_handler;//淇濆瓨淇″彿澶勭悊鍑芥暟demo.sa_flags|=SA_SIGINFO;//杩欐剰鍛崇潃浣跨敤涓変釜鍙傛暟淇″彿澶勭悊鍑芥暟浣跨敤signal涔嬪墠鐨勪俊鍙峰鐞嗗嚱鏁扮殑鍊兼湁涓€涓弬鏁皊igaction(SIGINT,&demo,NULL);sigaction(SIGQUIT,&demo,NULL);sigaction(SIGTSTP,&demo,NULL);鍚屾椂锛?锛夛紱杩斿洖0锛泒涓婇潰绋嬪簭鐨勮緭鍑哄涓嬶細鉃渄aemongit:(master)鉁?/job2.outpid=12842^Cprocessnumberforsendingsignal=0signal=2鍦ㄤ笂闈㈢殑绋嬪簭涓垜浠娇鐢╯igaction鏉ュ畾涔夋垜浠殑鑷甫淇″彿澶勭悊鍔熻兘銆備箣鍓嶆垜浠娇鐢ㄤ俊鍙峰嚱鏁版潵瀹氫箟淇″彿澶勭悊鍑芥暟銆備簨瀹炰笂锛屼俊鍙蜂篃鏄€氳繃sigaction瀹炵幇鐨勶紝鍙互璁╂垜浠畾涔変竴浜涙洿缁嗗寲鐨勫鐞嗐€備粠涓婇潰鐨勫嚱鏁板畾涔夋潵鐪嬶紝sigaction鍜宻ignal鐨勫尯鍒湪浜庝俊鍙峰鐞嗗嚱鏁版湁涓変釜鍙傛暟锛岀劧鍚庢垜浠畾涔変簡涓変釜淇″彿SIGINT銆丼IGQUIT鍜孲IGTSTP锛屽畠浠殑淇″彿澶勭悊鍑芥暟閮芥槸my_handler銆備粠涓婇潰绋嬪簭鐨勮緭鍑烘垜浠彲浠ョ煡閬撴槸杩涚▼鍙风瓑浜?鐨勮繘绋嬪彂閫佺殑锛屽樋鍢匡紝鎴戜滑鐭ラ亾init鐨勮繘绋嬪彿绛変簬1锛岄偅涔堣繘绋嬪彿涓?鐨勮繘绋嬫槸浠€涔堢瓑浜?锛熷叾瀹炶繖涓?鍙疯繘绋嬪氨鏄綅浜庡唴鏍镐腑鐨勭粓绔┍鍔ㄧ▼搴忋€俰nit鐨勮繘绋嬪彿涓?锛宬ernel鐨勮繘绋嬪彿绛変簬0锛屽彲浠ョ悊瑙e悧锛燄煒傚3琚潃锛屽墠鍙拌繘绋嬫鎺夈€傚綋shell杩涚▼琚潃姝婚€€鍑烘椂锛屽唴鏍镐細鍚戞墍鏈夊墠鍙拌繘绋嬪彂閫丼IGHUP銆傛帴涓嬫潵锛屾垜浠皢閲嶇幇杩欎釜缁撴灉銆傚湪涓婁竴绡囨枃绔犱腑鎴戜滑鎻愬埌锛屽綋涓€涓粓绔粓姝㈡墽琛屾椂锛屾瘮濡傝kill-9鏉€姝伙紝閭d箞鍐呮牳灏变細鍚戝墠鍙拌繘绋嬬粍涓殑鎵€鏈夎繘绋嬪彂閫佷竴涓猄IGHUP淇″彿銆傜幇鍦ㄦ垜浠敤涓嬮潰鐨勭▼搴忛噸鐜拌繖涓幇璞★細#define_GNU_SOURCE#include#include#include#include#include#include#include#include#include#includevoidmy_handler(intsigno,siginfo_t*si,void*ucontext){瀛楃s[1024];intfd=open("text.txt",O_APPEND|O_RDWR|O_CREAT,0644);濡傛灉锛坒d==-1锛墈閿欒锛堚€溾€濓級;涓锛堬級锛泒sprintf(s,"鍙戦€佷俊鍙风殑杩涚▼鍙?%dsignal=%d\n",si->si_pid,signo);鍐欙紙fd锛宻锛宻trlen锛坰锛夛級锛涘叧闂紙fd锛夛紱鍚屾锛坒d锛夛紱_exit(0);}intmain(){printf("pid=%d\n",getpid());缁撴瀯sigaction婕旂ず锛沝emo.sa_sigaction=my_handler;demo.sa_flags|=SA_SIGINFO锛沝emo.sa_flags&=~SA_RESETHAND;sigaction(SIGINT,&demo,NULL);(SIGHUP,&demo,NULL);鍚屾椂锛?锛夛紱閫€褰箄rn0;}鍦ㄤ笂闈㈢殑绋嬪簭涓紝鎴戜滑涓篠IGHUP瀹氫箟浜嗕竴涓俊鍙峰鐞嗙▼搴弇y_handler銆傚綋杩涚▼鏀跺埌SIGHUP淇″彿鏃讹紝灏变細璋冪敤杩欎釜鍑芥暟锛岀劧鍚庡悜text.txt鏂囦欢鍐欏叆鏁版嵁銆傛垜浠啀妫€鏌ヤ竴涓嬫枃浠跺氨鍙互鐭ラ亾鏄摢涓繘绋嬬粰鍓嶅彴杩涚▼缁勫彂閫佷簡淇″彿鍦ㄤ笅鍥句腑锛岄鍏堟垜浠惎鍔ㄤ竴涓猻hell杩涚▼锛岃繘绋嬪彿绛変簬2842锛岀劧鍚庡惎鍔ㄧ▼搴廽ob6.out锛堜篃灏辨槸涓婇潰鐨勪唬鐮侊級锛岀劧鍚庡湪鍙宠竟鐨勭粓绔墽琛宬ill-9鍛戒护鏉€姝诲乏杈圭殑缁堢绋嬪簭锛屾渶鍚巎ob6.out浼氭敹鍒板唴鏍哥殑SIGHUP淇″彿锛屾墍浠ヤ細鍦ㄦ枃鏈腑鍐欏叆淇℃伅銆倀xt鏂囦欢銆傜幇鍦ㄦ垜浠啀鏌ョ湅涓€涓媡ext.txt鏂囦欢涓殑淇℃伅锛氫粠涓婇潰text.txt鏂囦欢鐨勮緭鍑哄彲浠ョ煡閬擄紝纭疄鏄唴鏍稿彂鍑虹殑SIGHUP淇″彿锛孲IGHUP淇″彿瀵瑰簲鐨勪俊鍙峰€间负1.杩欎釜杈撳嚭绗﹀悎鎴戜滑鐨勯鏈熴€傞€€鍑虹粓绔細瀵艰嚧鍓嶅彴杩涚▼缁勬浜°€傛垜浠湪涓婁竴绡囨枃绔犱腑宸茬粡鎻愬埌锛屽綋鎴戜滑閫€鍑虹粓绔椂锛宻hell浼氬悜鎵€鏈夊墠鍙拌繘绋嬬粍鍙戦€佷竴涓猄IGHUP淇″彿銆傜幇鍦ㄨ鎴戜滑閲嶇幇杩欎釜鐜拌薄銆備笅鍥句腑锛屾垜浠娇鐢╬s鍛戒护鑾峰彇褰撳墠shell鐨勮繘绋嬪彿銆備粠鍥剧墖鐨勭粨鏋滄潵鐪嬶紝褰撳墠shell鐨勮繘绋嬪彿绛変簬3892锛岀劧鍚庢垜浠湪缁堢涓墽琛岀▼搴廽ob6.out锛屽拰鍓嶉潰鐨勪緥瀛愭槸鍚屼竴涓▼搴忥紝鐒跺悗鎴戜滑閫€鍑虹粓绔€傛牴鎹垜浠墠闈㈡彁鍒扮殑锛岄€€鍑虹粓绔悗锛宻hell浼氬悜鎵€鏈夊墠鍙拌繘绋嬬粍鍙戦€丼IGHUP淇″彿锛岀劧鍚巎ob6.out浼氳皟鐢ㄤ俊鍙峰鐞嗗嚱鏁帮紝鐒跺悗灏嗕俊鎭啓鍏ext.txt銆傛垜浠幇鍦ㄧ湅涓€涓媡ext.txt鐨勫唴瀹癸細浠庝笂闈㈢殑杈撳嚭鏉ョ湅锛宩ob6.out纭疄鏀跺埌浜嗕竴涓猄IGHUP淇″彿锛屽搴旂殑淇″彿鍊肩瓑浜?锛屽彂閫佷俊鍙风殑杩涚▼鍙风瓑浜?892锛岃繖纭疄鏄笂鍥句腑鏄剧ず鐨剆hell鐨勮繘绋嬪彿銆傜患涓婃墍杩帮紝鏈枃涓昏浠嬬粛鍓嶅彴杩涚▼缁勪腑鐨勮繘绋嬮€€鍑虹殑鍑犵鎯呭喌锛屽苟浣跨敤绋嬪簭閲嶇幇銆備富瑕佹湁浠ヤ笅鍥涚鎯呭喌锛氱▼搴忔甯哥粨鏉燂紝姣斿鍦ㄧ粓绔緭鍏s鍛戒护锛屾墽琛屽畬鎴愬悗姝e父缁撴潫銆傚綋浣犲湪缁堢杈撳叆ctrl+c绛夊瓧绗︽椂锛屽唴鏍镐細鍚戝墠鍙拌繘绋嬬粍鍙戦€佷竴涓俊鍙凤紝濡係IGINT銆傚綋鎺у埗杩涚▼锛屼篃灏辨槸shell杩涚▼琚粓姝紙姣斿killed锛夋椂锛屽唴鏍镐細鍚戝墠鍙拌繘绋嬬粍涓殑鎵€鏈夎繘绋嬪彂閫佷竴涓猄IGHUP淇″彿銆傞€€鍑虹粓绔椂锛宻hell鍚戝墠鍙拌繘绋嬬粍鍙戦€丼IGHUP淇″彿銆傛€荤殑鏉ヨ锛屾繁鍏ヤ簡瑙f祦绋嬪鎴戜滑杩樻槸寰堟湁濂藉鐨勩€傚笇鏈涘ぇ瀹舵湁鎵€鏀惰幏锛佷互涓婂氨鏄湰鏂囩殑鍏ㄩ儴鍐呭锛屾垜鏄疞eHung锛屾垜浠笅鏈熷啀瑙侊紒锛侊紒鏇村绮惧僵鍐呭鍚堥泦鍙互璁块棶椤圭洰锛歨ttps://github.com/Chang-LeHu...鍏虫敞鍏紬鍙凤細涓€涓病鐢ㄧ殑鐮旂┒鍍э紝瀛︿範鏇村璁$畻鏈虹煡璇嗭紙Java锛孭ython锛岃绠楁満绯荤粺鍩虹锛岀畻娉曞拰鏁版嵁缁撴瀯锛夌煡璇嗐€?/p>