½ø³Ì´´½¨ÊµÑ鱨¸æ

£¨¼ÆËã»úѧԺ£©

¿ÎÄÚʵÑ鱨¸æ

ʵÑéÃû³Æ£º ½ø³Ì¹ÜÀí-½ø³Ìµ÷¶È

רҵÃû³Æ ¼ÆËã»ú¿ÆÑ§Óë¼¼Êõ °à ¼¶£º

ѧÉúÐÕÃû£º

ѧºÅ£¨8룩 Ö¸µ¼½Ìʦ£º ʵÑéÈÕÆÚ£º

Ò». ʵÑéÄ¿µÄ¼°ÊµÑé»·¾³ 1.ʵÑéÄ¿µÄ

ͨ¹ý¹Û²ì¡¢·ÖÎöʵÑéÏÖÏó£¬ÉîÈëÀí½â½ø³Ì¼°½ø³ÌÔÚµ÷¶ÈÖ´ÐкÍÄÚ´æ¿Õ¼äµÈ·½ÃæµÄÌØµã£¬ÕÆÎÕÔÚPOSIX ¹æ·¶ÖÐforkºÍkillϵͳµ÷ÓõŦÄܺÍʹÓá£

2.ʵÑé»·¾³ £¨1£©Ó²¼þ

? CPU£ºIntel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz ? Äڴ棺8.0GB

? ÏÔʾÆ÷£ºNVIDIA GeForce GTX 850M ? Ó²Å̿ռ䣺1.0TB £¨2£©Èí¼þ

? ÐéÄâ»úÃû³Æ¼°°æ±¾£ºVM12.0 ? ²Ù×÷ϵͳÃû³Æ¼°°æ±¾£ºCentos6.7 ? ±àÒëÆ÷£ºGCC

¶þ. ʵÑéÄÚÈÝ 1¡¢ÊµÑéǰ׼±¸¹¤×÷

ѧϰman ÃüÁîµÄÓ÷¨£¬Í¨¹ýËü²é¿´fork ºÍkill ϵͳµ÷ÓõÄÔÚÏß°ïÖú£¬²¢ÔĶÁ²Î¿¼×ÊÁÏ£¬Ñ§»áfork Óëkill µÄÓ÷¨£¬¸´Ï°C ÓïÑÔµÄÏà¹ØÄÚÈÝ¡£ 2¡¢ÊµÑéÄÚÈÝ

¸ù¾ÝÏ·¢µÄLinux½ø³Ì¹ÜÀíʵÑéPPTÄÚÈÝ£¬½«ÊµÑé´úÂë²¹³äÍêÕû¡£²¢¿¼ÂÇ£º ÏȲÂÏëÒ»ÏÂÕâ¸ö³ÌÐòµÄÔËÐнá¹û¡£¼ÙÈçÔËÐС°./process 20¡±£¬Êä³ö»áÊÇʲôÑù£¿È»ºó°´ÕÕ×¢ÊÍÀïµÄÒªÇó°Ñ´úÂë²¹³äÍêÕû£¬ÔËÐгÌÐò¡£¿ÉÒÔ¶àÔËÐÐÒ»»á¶ù£¬²¢ÔÚ´ËÆÚ¼äÆô¶¯¡¢¹Ø±ÕһЩÆäËü½ø³Ì£¬¿´process µÄÊä³ö½á¹ûÓÐÊ²Ã´ÌØµã£¬¼Ç¼ÏÂÕâ¸ö½á¹û¡£¿ªÁíÒ»¸öÖÕ¶Ë´°¿Ú£¬ÔËÐС°ps aux|grep process¡±ÃüÁ¿´¿´process ¾¿¾¹Æô¶¯Á˶àÉÙ¸ö½ø³Ì¡£»Øµ½³ÌÐòÖ´Ðд°¿Ú£¬°´¡°Êý×Ö¼ü+»Ø³µ¡±³¢ÊÔɱµôÒ»Á½¸ö½ø³Ì£¬ÔÙµ½ÁíÒ»¸ö´°¿Ú¿´½ø³Ì×´¿ö¡£°´q Í˳ö³ÌÐòÔÙ¿´½ø³ÌÇé¿ö¡£ 3¡¢»Ø´ðÎÊÌâ

±àд¡¢±àÒë¡¢Á´½Ó¡¢Ö´ÐÐʵÑéÄÚÈÝÉè¼ÆÖеĴúÂ룬²¢»Ø´ðÈçÏÂÎÊÌ⣺ 1£©Äã×î³õÈÏΪÔËÐнá¹û»áÔõôÑù£¿ ´ð£º×Ó½ø³Ì°´ÐòºÅÊä³ö¡£

2£©Êµ¼ÊµÄ½á¹ûʲôÑù£¿ÓÐÊ²Ã´ÌØµã£¿ÊÔ¶Ô²úÉú¸ÃÏÖÏóµÄÔ­Òò½øÐзÖÎö¡£ ´ð£º×Ó½ø³Ì»ù±¾°´ÐòºÅÊä³ö£¬µ«Óм¸¸ö˳Ðò´íÎ󣬿ÉÄÜÊÇijЩ×Ó½ø³ÌÖ´ÐÐÌ«¿ì£¬ÇÀÕ¼×ÊÔ´£¬µ¼ÖÂ˳Ðò´íÎó¡£

3£©proc_number Õâ¸öÈ«¾Ö±äÁ¿ÔÚ¸÷¸ö×Ó½ø³ÌÀïµÄÖµÏàͬÂð£¿ÎªÊ²Ã´£¿ ´ð£ºÏàͬ£¬ÒòΪȫ¾Ö±äÁ¿Êǹ²Ïí×ÊÔ´£¬ËùÒÔÖµÏàͬ¡£

4£©kill ÃüÁîÔÚ³ÌÐòÖÐʹÓÃÁ˼¸´Î£¿Ã¿´ÎµÄ×÷ÓÃÊÇʲô£¿Ö´ÐкóµÄÏÖÏóÊÇʲô£¿

´ð£ºÖ´ÐÐÁË2´Î£¬µÚÒ»´ÎÊÇÓû§×Ô¼ºÑ¡ÔñɱËÀ½ø³ÌµÄ±àºÅ£¬Ö´Ðкó¸Ã½ø³Ì±»

ɱËÀ£¬²»»á³öÏÖÔÚÖ÷½ø³ÌÖУ¬µÚ¶þ´ÎÊÇɱËÀ±¾×éÈ«²¿×Ó½ø³Ì£¬É±ËÀºó³ÌÐòֻʣÖ÷½ø³Ì¡£

5£©Ê¹ÓÃkill ÃüÁî¿ÉÒÔÔÚ½ø³ÌµÄÍⲿɱËÀ½ø³Ì¡£½ø³ÌÔõÑùÄÜÖ÷¶¯Í˳ö£¿ÕâÁ½ÖÖÍ˳ö·½Ê½ÄÄÖÖ¸üºÃÒ»µã£¿

´ð£ºexit(0ºÍ return(0) ¿ÉÒÔÖ÷¶¯Í˳ö£¬Ö÷¶¯Í˳ö±È½ÏºÃ£¬killÔÚʱ£¬²¿É±ËÀ½ø³Ìʱ£¬¿ÉÄÜ»¹ÓÐδÍ˳öµÄ×Ó½ø³Ì£¬ËùÒÔÖ÷¶¯Í˳öºÃ¡£

6£©Ð´³öfork£¨£©ºÍkill£¨£©º¯ÊýÔ­ÐÍ£¬²¢½âÊͺ¯ÊýµÄ¹¦ÄܺͲÎÊýµÄº¬Ò壿 ´ð£ºKill: #include 2 3 #include 4 5 int kill(pid_t pid, int sig); 6 7

²ÎÊý£º

pid£º¿ÉÄÜÑ¡ÔñÓÐÒÔÏÂËÄÖÖ

1. pid´óÓÚÁãʱ£¬pidÊÇÐźÅÓûËÍÍùµÄ½ø³ÌµÄ±êʶ¡£

2. pidµÈÓÚÁãʱ£¬ÐźŽ«ËÍÍùËùÓÐÓëµ÷ÓÃkill()µÄÄǸö½ø³ÌÊôͬһ¸öʹÓÃ×éµÄ½ø³Ì¡£

3. pidµÈÓÚ-1ʱ£¬ÐźŽ«ËÍÍùËùÓе÷Óýø³ÌÓÐȨ¸øÆä·¢ËÍÐźŵĽø³Ì£¬³ýÁ˽ø³Ì1(init)¡£

4. pidСÓÚ-1ʱ£¬ÐźŽ«ËÍÍùÒÔ-pidΪ×é±êʶµÄ½ø³Ì¡£

sig£º×¼±¸·¢Ë͵ÄÐźŴúÂ룬¼ÙÈçÆäֵΪÁãÔòûÓÐÈκÎÐźÅËͳö£¬µ«ÊÇϵͳ»áÖ´ÐдíÎó¼ì²é£¬Í¨³£»áÀûÓÃsigֵΪÁãÀ´¼ìÑéij¸ö½ø³ÌÊÇ·ñÈÔÔÚÖ´ÐС£ ·µ»ØÖµËµÃ÷£º ³É¹¦Ö´ÐÐʱ£¬·µ»Ø0¡£Ê§°Ü·µ»Ø-1£¬errno±»ÉèΪÒÔϵÄij¸öÖµ EINVAL£ºÖ¸¶¨µÄÐźÅÂëÎÞЧ£¨²ÎÊý sig ²»ºÏ·¨£© EPERM£»È¨ÏÞ²»¹»ÎÞ·¨´«ËÍÐźŸøÖ¸¶¨½ø³Ì ESRCH£º²ÎÊý pid ËùÖ¸¶¨µÄ½ø³Ì»ò½ø³Ì×é²»´æÔÚ. ²ÎÊý£º

pid£º¿ÉÄÜÑ¡ÔñÓÐÒÔÏÂËÄÖÖ

1. pid´óÓÚÁãʱ£¬pidÊÇÐźÅÓûËÍÍùµÄ½ø³ÌµÄ±êʶ¡£

2. pidµÈÓÚÁãʱ£¬ÐźŽ«ËÍÍùËùÓÐÓëµ÷ÓÃkill()µÄÄǸö½ø³ÌÊôͬһ¸öʹÓÃ×éµÄ½ø³Ì¡£

3. pidµÈÓÚ-1ʱ£¬ÐźŽ«ËÍÍùËùÓе÷Óýø³ÌÓÐȨ¸øÆä·¢ËÍÐźŵĽø³Ì£¬³ýÁ˽ø³Ì1(init)¡£

4. pidСÓÚ-1ʱ£¬ÐźŽ«ËÍÍùÒÔ-pidΪ×é±êʶµÄ½ø³Ì¡£

sig£º×¼±¸·¢Ë͵ÄÐźŴúÂ룬¼ÙÈçÆäֵΪÁãÔòûÓÐÈκÎÐźÅËͳö£¬µ«ÊÇϵͳ»áÖ´ÐдíÎó¼ì²é£¬Í¨³£»áÀûÓÃsigֵΪÁãÀ´¼ìÑéij¸ö½ø³ÌÊÇ·ñÈÔÔÚÖ´ÐС£

·µ»ØÖµËµÃ÷£º ³É¹¦Ö´ÐÐʱ£¬·µ»Ø0¡£Ê§°Ü·µ»Ø-1£¬errno±»ÉèΪÒÔϵÄij¸öÖµ EINVAL£ºÖ¸¶¨µÄÐźÅÂëÎÞЧ£¨²ÎÊý sig ²»ºÏ·¨£© EPERM£»È¨ÏÞ²»¹»ÎÞ·¨´«ËÍÐźŸøÖ¸¶¨½ø³Ì ESRCH£º²ÎÊý pid ËùÖ¸¶¨µÄ½ø³Ì»ò½ø³Ì×é²»´æÔÚ. fork:

#include #include pid_t fork(void); ·µ»ØÖµ£º

1£º¸ºÊý ³ö´í£¬Ã»Óд´½¨¸¸½ø³Ì×Ó½ø³Ì¡£ 2. 0 ÔÚ×Ó½ø³ÌÖÐ

3 ÕýÊý ÔÚ¸¸½ø³ÌÖУ¬·µ»Ø×Ó½ø³ÌPID

7£©ps aux|grep processÃüÁÄÜÊÇʲô£¿²¢½âÊͽá¹ûµÄº¬Òå¡£ ´ð£ºÏÔʾËùÓнø³ÌÐÅÏ¢¡£

Èý£®·½°¸Éè¼Æ

main() ½øÈëÖ÷½ø³Ì

ÊäÈë´´½¨×Ó½ø³Ì¸ö

Êý ½øÈëforÑ­»· ¿ªÊ¼´´½¨×Ó½ø³Ì Ñ¡ÔñɱËÀ×Ó½ø³Ì ËÄ£®²âÊÔÊý¾Ý¼°ÔËÐнá¹û Ñ¡ÔñɱËÀÈ«²¿½ø³Ì

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@) ËÕICP±¸20003344ºÅ-4