·í¦b°õ¦æ¤å®Ñ½s¿è¾¹®É¡A±z¥i¥H«Ü®e©ö¦a¨Ï¥Î¥¦¡A¥s¥¦Åª¨úÀɮשάO¤°»òªº¡C ¥i¥H³o¼Ë°µ¬O¦]¬°½s¿è¾¹¦³´£¨Ñ³o¨Ç¥\¯à¡A ÁÙ¦³´N¬O½s¿è¾¹¨Ìªþ¦b¤@Ӳ׺ݾ÷ (Terminal) ¤§¤W¡C ¦³¨Çµ{¦¡¨Ã¤£¬O³]p¦¨¤@ª½¦b±µ¦¬¨Ï¥ÎªÌªº¿é¤Jªº¡A ©Ò¥H¥¦Ì¦b¤@¶}©l°õ¦æªº®ÉÔ´N±q²×ºÝ¾÷Â_¶}¤F¡C ¨Ò¦p»¡¡A ºô¶¦øªA¾¹¾ã¤Ñ³£¦b¦^À³ºô¶¤è±ªºn¨D¡A¥¦³q±`¤£»Ýn±z¿é¤J¥ô¦óªF¦è¡C ¥t¥~¡A¹³¬O§â«H±q¤@Ó¯¸¶Ç°e¨ì¥t¤@Ó¯¸ªºµ{¦¡¡A¤]¬O³oºØÃþ«¬ªºÀ³¥Îµ{¦¡¡C
§Ú̧â³oºØµ{¦¡ºÙ§@ daemon¡C Daemon (´cÅ]¡B¦uÅ@¯«) ¬O§ÆÃ¾¯«¸Ü¤¤ªº¨¤¦â¡G̤͢£Äݩ󵽨}°}Àç©Î¨¸´c°}Àç¡A¬O¦uÅ@ªº¤pºëÆF¡C ¤jP¤W¨Ó»¡Í¢Ì´N¬O¦b´À¤HÃþ°µ¤@¨Ç¦³¥Îªº¨Æ±¡¡A ¸ò¤µ¤Ñªººô¶¦øªA¾¹©Î¬O¶l¥ó¦øªA¾¹«Ü¹³¡C ³o¤]´N¬O¬°¦ó BSD ªº¦N²»ª«¡Aªø´Á¥H¨Ó³£¬O¤@°¦¬ïµÛ¦|¥¬¾c®³µÛ¤T¤e¯Òªº§Ö¼Ö¤p´cÅ]ªºì¦]¡C
³q±`¨Ó»¡ deamon µ{¦¡ªº¦W¦r«á±³£·|¥[¤@Ó¦r¥À ¡§d¡¨¡C BIND ¬O Berkeley Internet Name Domain ªºÁY¼g (¦ý¹ê»Ú¤W°õ¦æªºµ{¦¡¦WºÙ¬O named)¡BApache ºô¶¦øªA¾¹ªºµ{¦¡¦WºÙ¬O httpd¡B¦Lªí¾÷ªA°Èµ{¦¡¬O lpd¡A¨Ì¦¹Ãþ±À¡C ³o¬O²ßºD¥Îªk¡A¨Ã¨S¦³µw©Ê³W©w¡A¨Ò¦p Sendmail ¥Dnªº±H«H daemon ¬O¥s°µ sendmail ¦Ó¤£¬O maild¡A¸ò±z·Q¹³ªº¤£¤@¼Ë¡C
¦³¨Ç®ÉÔ·|»Ýn¸ò¬YÓ daemon µ{§Ç·¾³q¡A ³o¨Ç·¾³q¬O³z¹L©Ò¿×ªº«H¸¹(signal)¨Ó¶Ç»¼µ¹¸Ó daemon µ{§Ç(©Î¬O¨ä¥L°õ¦æ¤¤ªºµ{§Ç)¡C ÂǥѰe¥X«H¸¹¡A±z¥i¥H©M¤@Ó daemon (©Î¬O¥ô¦ó¤@Ó¥¿¦b¶]ªºµ{§Ç) ·¾³q¡C «H¸¹¦³«Ü¦hºØ¡X¡X¦³¨Ç¦³¯S©wªº·N¸q¡A¦³¨Ç«h¬O·|¥ÑÀ³¥Îµ{¦¡¨Ó¸ÑŪ¡C À³¥Îµ{¦¡ªº»¡©ú¤å¥ó·|§i¶D±z¸Óµ{¦¡¬O¦p¦ó¸ÑŪ«H¸¹ªº¡C ±z¥u¯à°e«H¸¹µ¹±z¾Ö¦³ªºµ{§Ç¡A°e kill(1) ©Î kill(2) ªº«H¸¹µ¹§O¤Hªºµ{§Ç¬O¤£³Q¤¹³\ªº¡C ¤£¹L root ¤£¨ü¦¹¨î¡A¥L¥i¥H°e«H¸¹µ¹¥ô¦ó¤Hªºµ{§Ç¡C
FreeBSD ¥»¨¦b¬Y¨Ç±¡ªp¤]·|°e«H¸¹µ¹À³¥Îµ{¦¡¡C °²³]¦³ÓÀ³¥Îµ{¦¡¼g±o«ÜÄê¡AµM«á¥ø¹Ïn¦s¨ú¥¦¤£¸Ó¸Iªº°O¾ÐÅ骺®ÉÔ¡AFreeBSD ·|°e¤@Ó Segmentation Violation «H¸¹ (SIGSEGV) µ¹³oÓµ{§Ç¡C ¤S¦pªG¦³¤@ÓÀ³¥Îµ{¦¡¥Î¤F alarm(3) ªº system call n¨D¨t²Î¦b¹L¤@¬q®É¶¡¤§«á¥s¥L¤@¤U¡A®É¶¡¨ì¤Fªº®ÉÔ¾xÄÁªº«H¸¹ (SIGALRM) ´N·|³Q°e¥X¤F¡A¨ä¥Lªº¨Ì¦¹Ãþ±À¡C
SIGTERM and SIGKILL ³o¨âÓ«H¸¹¥i¥H®³¨Ó²×¤îµ{§Ç¡C ¥Î SIGTERM µ²§ôµ{§Ç¬O¤ñ¸û¦³Â§»ªªº¤è¦¡¡A¸Óµ{§Ç·|®·®» (catch) ³oÓ«H¸¹¦Ó¤F¸Ñ¨ì±z·Qn§â¥LÃö±¼¡C ±µµÛ¤U¨Ó¥¦·|§â¥¦¦Û¤w¶}ªº°O¿ýÀɳq³qÃö±¼¡A µM«á¦bÃö±¼µ{§Ç¤§«eµ²§ô±¼¤âÃ䪺¤u§@¡C ¦b¬Y¨Ç±¡ªp¤Uµ{§Ç¦³¥i¯à·|¸Ë§@¨S¬Ý¨£ SIGTERM¡A°²¦p¥¦¥¿¦b°µ¤@¨Ç¤£¯à¤¤Â_ªº¤u§@ªº¸Ü¡C
SIGKILL ´N¨S¦³¿ìªk³Qµ{§Ç©¿²¤¤F¡C ³o¬O¤@Ó¡§§ÚºÞ§A¥¿¦b·F¹À¡A²{¦b´Nµ¹§Ú°±¤U¨Ó¡¨ªº«H¸¹¡C ¦pªG±z°e¤F SIGKILL «H¸¹µ¹¬YÓµ{§Ç¡AFreeBSD ±N·|§â¥¦°±±¼[1]¡C
³o¨Ç¬O¨ä¥L±z¦³¥i¯à·|n¥Î¨ìªº«H¸¹¡G SIGHUP¡ASIGUSR1¡A¥H¤Î SIGUSR2¡C ³o¨Ç¬O³q¥Îªº«H¸¹¡A·í°e¥X®É¤£¦PªºÀ³¥Îµ{¦¡·|¦³¤£¦Pªº¤ÏÀ³¡C
°²³]±z§ó°Ê¤F±zªººô¶¦øªA¾¹ªº³]©wÀÉ¡X¡X ±z·Qn¥sºô¶¦øªA¾¹¥h«·sŪ¨ú³]©wÈ¡C ±z¥i¥HÃö³¬«á¦A«·s±Ò°Ê httpd¡A¦ý¬O³o»ò°µ·|³y¦¨ºô¶¦øªA¾¹¼È°±ªA°È¤@¬q®É¶¡¡A ³o¼Ë¤l¥i¯à¤£¤Ó¦n¡C ¤j³¡¥÷ªº daemon ³£¼g¦¨·|¥h¦^À³ SIGHUP¡C ·í¦¬¨ì³oÓ«H¸¹¤§«á¡A¥¦Ì·|¥h«·sŪ¨ú¦Û¤wªº³]©wÀÉ¡C ¦]¦¹±z¥i¥H¥Î°e SIGHUP «H¸¹¨Ó¨ú¥NÃö±¼«¶}¡C ¤S¦]¬°¨S¦³¼Ð·Ç¦b³W½d¦p¦ó¦^À³³o¨Ç«H¸¹¡A¤£¦Pªº daemon ¥i¯à·|¦³¤£¦Pªº¦æ¬°¡A©Ò¥H¦³ºÃ°Ýªº¸Ü½Ð¥ý½T»{¨Ã½¾\ deamon ªº»¡©ú¤å¥ó¡C
«H¸¹¬O¥Ñ kill(1) «ü¥O°e¥Xªº¡A¦p½d¨Ò©Ò¥Ü¡G
°e«H¸¹µ¹µ{§Ç
³oÓ½d¨Ò±N·|¥Ü½d¦p¦ó°e¤@Ó«H¸¹µ¹ inetd(8)¡C inetd ªº³]©wÀɬO /etc/inetd.conf¡A¦Ó inetd ·|¦b¦¬¨ì SIGHUP ªº®ÉÔ«·sŪ¨ú³oÓ³]©wÀÉ¡C
§ä¥X±z·Qn°e«H¸¹ªº¨ºÓµ{§Çªº ID¡C ±z·|¥Î¨ì ps(1) ¥H¤Î grep(1) ³o¨âÓ«ü¥O¡C
grep(1) ¬O¥Î¨Ó¦b¿é¥X¤¤·j´M¡A
§ä¥X±z«ü©wªº¦r¦ê¡C ³oÓ«ü¥O¬O¥Ñ¤@¯ë¨Ï¥ÎªÌ°õ¦æ¡A¦Ó inetd(8) ¬O¥Ñ root °õ¦æ¡A©Ò¥H¦b¨Ï¥Î ps(1) ®É»Ýn¥[¤W
ax
¿ï¶µ¡C
% ps -ax | grep inetd 198 ?? IWs 0:00.00 inetd -wW
¦]¦¹¥iª¾ inetd(8) ªº PID ¬° 198¡C ¦b¬Y¨Ç±¡ªp¤U grep inetd ³oÓ«ü¥O¥»¨¤]·|¥X²{¦b¿é¥X¸Ì¡C ³o¬O¦]¬° ps(1) ¤D¬O§ä©Ò¦³°õ¦æ¤¤ªºµ{§Çªº¤è¦¡³y¦¨ªº¡C
¥Î kill(1) ¨Ó°e«H¸¹¡C ¤S¦]¬° inetd(8) ¬O¥Ñ root °õ¦æªº¡A±z¥²¶·¥Î su(1) ¤Á´«¦¨ root¥ý¡C
% su Password: # /bin/kill -s HUP 198
¤@¯ë±¡ªp¹ï¤j¦h¼Æ UNIX® «ü¥O¨ÓÁ¿¡A·í kill(1) °õ¦æ¦¨¥\®É¨Ã¤£·|¿é¥X¥ô¦ó°T®§¡C °²³]±z°e¤@Ó«H¸¹µ¹¬YÓ¤£¬O±z©Ò¾Ö¦³ªºµ{§Ç¡A ¨º»ò±z´N·|¦Y¨ì³oÓ¿ù»~°T®§¡G ¡§kill: PID: Operation not permitted¡¨¡C ¦Ó¦pªG±z¥´¿ù PID ªº¸Ü¡A¨º´N·|§â«H¸¹°eµ¹¿ù»~ªºµ{§Ç¡C ³o¼Ë¥i¯à·|«ÜÁV¡A ¤£¹L¦pªG±z°÷©¯¹Bªº¸Ü¡A¥i¯àè¦n´N¥u¬O§â«H¸¹°eµ¹¤@Ó«D¨Ï¥Î¤¤ªº PID¡A¨º±z´N¥u·|¬Ý¨ì ¡§kill: PID: No such process¡¨ ¦Ó¤w¡C
¬°¤°»ò¥Î /bin/kill¡H: «Ü¦h shell ¦³´£¨Ñ¤º«Øªº kill «ü¥O¡C ¤]´N¬O»¡³oºØ shell ·|ª½±µ°e«H¸¹¡A¦Ó¤£¬O°õ¦æ /bin/kill¡C ³o¼Ë¬OÆZ¤è«Kªº¨S¿ù°Õ¡A¦ý¬O¤£¦Pªº shell ·|¦³¤£¦Pªº»yªk¨Ó«ü©w«H¸¹ªº¦WºÙµ¥¡C »P¨ä¹Á¸Õ¥h§â¥¦Ì³q³q¾Ç·|¡A¤£¦p´N³æ¯Âªºª½±µ¥Î /bin/kill ... §a¡C
n°e¨ä¥Lªº«H¸¹ªº¸Ü¤]¬O«D±`Ãþ¦ü¡A´Nµø»Ýn§â«ü¥O¤¤ªº TERM ©Î KILL ´À´«±¼§Y¥i¡C
[1] |
¤£§¹¥þ¥¿½T¡X¡XÁÙ¬O¦³¤Ö¼ÆªF¦è¤£¯à³Q¤¤Â_¡C ¨Ò¦p¦³Óµ{§Ç¥¿¦b±qºô¸ô¤Wªº§Oªº¹q¸£Åª¤@ÓÀɮסA ¦Ó¨º³¡¹q¸£¦]¬°¬Y¨Ç²z¥Ñ³s¤£¨ì (¾÷¾¹³QÃö±¼¡A©Î¬Oºô¸ôÄê±¼¤F)¡A ¨º³oÓµ{§Ç§ÚÌ´N»¡¥L¬O¤@Ó¡§¤£¯à¤¤Â_ªº¡¨µ{§Ç¡C ³q±`¦b¸g¹L¨â¤ÀÄÁ¥ª¥k¤§«á³oÓµ{§Ç·|¹O®É¡C ·íµo¥Í¹O®Éªº®ÉÔ³oÓµ{§Ç´N·|³Qµ²§ô±¼¤F¡C |
¥»¤å¤Î¨ä¥L¤å¥ó¡A¥i¥Ñ¦¹¤U¸ü¡Gftp://ftp.FreeBSD.org/pub/FreeBSD/doc/¡C
Y¦³ FreeBSD ¤è±ºÃ°Ý¡A½Ð¥ý¾\Ū FreeBSD ¬ÛÃö¤å¥ó¡A¦p¤£¯à¸Ñ¨Mªº¸Ü¡A¦A¬¢¸ß
<questions@FreeBSD.org>¡C
Ãö©ó¥»¤å¥óªº°ÝÃD¡A½Ð¬¢¸ß <doc@FreeBSD.org>¡C