ÓÃCʵÏÖ¶ÁÈ¡µ±Ç°ÏµÍ³½ø³Ì¹¦Äܲ¢½«½á¹û±£´æµ½ÎļþÖÐ
ҪʵÏÖÈç±êÌâËùʾ¹¦ÄÜ£¬ÎÒÊÔÁ˲»ÉÙ·½·¨£¬¶¼²»³É¹¦£¬ÓÃpopen£¨£©º¯ÊýÖ»Äܵõ½½á¹ûµÄµÚÒ»ÐУ¬ÓÃexecϵÁеĺ¯Êý²»Äܽ«½á¹û·µ»Ø£¬²¢ÇÒÒªÇó²»ÄÜÔÚCÓïÑÔÖе÷ÓÃshell½Å±¾ÊµÏִ˹¦ÄÜ¡£ Çë´ó¼Ò»ï°ïÎÒ½â¾öһϣ¬ÓÐÔ´ÂëµÄ¸üºÃ£¬Ð»Ð»ÁË¡£
Ϊʲô²»ÄÜÓÃshell£¬Éá½üÇóÔ¶£¿ ÄÜÏêϸ˵˵ÐèÇóÂ𣿠popenÖ»Äܵõ½µÚÒ»ÐУ¿ÄãÔõôдµÄ£¿ read /proc/ <process id>/status may help ÓÃexecϵÁеĺ¯Êý²»Äܽ«½á¹û·µ»Ø£¬²¢ÇÒÒªÇó²»ÄÜÔÚCÓïÑÔÖе÷ÓÃshell½Å±¾ÊµÏִ˹¦ÄÜ¡£ µ«ÊÇÄã¿ÉÒ԰ѽá¹ûÖØ¶¨Ïòµ½ÎļþÀï°¡ÒýÓà ÓÃexecϵÁеĺ¯Êý²»Äܽ«½á¹û·µ»Ø£¬²¢ÇÒÒªÇó²»ÄÜÔÚCÓïÑÔÖе÷ÓÃshell½Å±¾ÊµÏִ˹¦ÄÜ¡£ µ«ÊÇÄã¿ÉÒ԰ѽá¹ûÖØ¶¨Ïòµ½ÎļþÀï°¡ µÍ¼¶Îļþ±à³Ì£¬¿ÉÒÔÖ±½Ódup2µ½Ò»¸öÁ÷°É£¿ÕâÑù²»ÊÇÒ²ºÃ£¿ ÔÀ´C°æ°æÖ÷Ò²ÊÇlinuxµÄŶ£¬ÐÒ»áÐÒ»á °üº¬linux/sched.h struct task_struct * current; current->pid; current->com; pidµ±Ç°½ø³ÌµÄID comÊÇǰ½ø³ÌµÄÃüÁîÃû ²»ÖªµÀ¿ÉÐв»£¿ ÄãÊÔÒ»ÊÔ°É »òÕßÄã¿ÉÒÔ¿´Ò»ÏÂPSÃüÁîµÄʵÏÖ·½Ê½¡£Ó¦¸ÃÊǶÁÈ¡/PROCÏÂÃæµÄÒ»¸öÎļþ°ÉÒýÓà popenÖ»Äܵõ½µÚÒ»ÐУ¿ÄãÔõôдµÄ£¿ Êǰ¡£¬ÄãÔõôдµÄÂ Ä㲻˵´ó¼ÒÔõô֪µÀÄØ£¿ Óøösystem() Ò»¸öshell ÖØ¶¨Ïò¾ÍÐÐÁËÒýÓà ÒýÓà 2 Â¥ steedhorse µÄ»Ø¸´: popenÖ»Äܵõ½µÚÒ»ÐУ¿ÄãÔõôдµÄ£¿ Êǰ¡£
Ïà¹ØÎÊ´ð£º
ÎÒÓÃPHPÀ©Õ¹Cʱ£¬ÓõÄÊÇÔ´ÂëextĿ¼ÏµÄ./ext_skel ×îºó±àÒë×ÜÊDz»ÄÜÉú³ÉÀ©Õ¹Ä£¿éµÄ.so¶¯Ì¬¿â£¬ÎÒÓõİ汾ÊÇ5.3.0£¬ ÕâÊÇÔõô»ØÊ£¬¸ßÊÖ½â´ðÏ ²»ÄÜÉú³ÉʱÓÐɶÌáʾÐÅÏ¢£¿ ÔËÐÐÁË/ext_skel --extname=Ä ......
'\108'×÷Ϊ×Ö·û³£Á¿¶Ô²»¶Ô£¿ תÒå×Ö·û'\ddd'±íʾ3λ8½øÖÆËù´ú±íµÄ×Ö·û¡£ µ«ÊÇ108²»ÊÇÕýÈ·µÄ8½øÖƱíʾ·½·¨£¬Òò´ËÓ¦¸ÃÊÇ´íÎóµÄ¡£ µ«ÊÇchar a='\108'; Ϊʲô±àÒë²»³ö´íÄØ£¿ \108 û³¬¹ý ......
ÓÃÕâ±¾ÊéÈëÃÅÔõôÑùÄØ ¸úÌ·ºÆÇ¿µÄÏà±ÈÈçºÎ£¿ лл ÎÒ°ÑÕâ±¾¿´Á˼¸Æª£¬È·ÊµºÜºÃµÄÊé¡£¾Í²»ÒªÄÃËü¸ú Ì· µÄÊé±ÈÁË£¬ Ì· µÄÊéÒªÕÕ¹ËÈ«¹ú¶ÁÕß¡£ ²»¿ÉͬÈÕ¶øÓï Ò»¸öÊǹúÍâµÄ£¬Ò»¸öÊǹúÄÚµÄ Ñ§Íêc primer ......
ANSI/ISO C ±ê×¼ÕâÑùÃèÊö: ÔÚÉÏÒ»¸öºÍÏÂÒ»¸öÐòÁеãÖ®¼ä, Ò»¸ö¶ÔÏóËù±£´æµÄÖµÖÁ¶àÖ»Äܱ»±í ´ïʽµÄ¼ÆËãÐÞ¸ÄÒ»´Î¡£¶øÇÒǰһ¸öÖµÖ»ÄÜÓÃÓÚ¾ö¶¨½«Òª±£´æµÄÖµ¡£ ʵÔÚ²»Àí½âÕâ¾ä»°£¬Çë´ó¼ÒÒ»Æð˵˵£¿£¿ ......