linux¹Ø»úÃüÁîÏê½â
ÔÚlinuxÏÂһЩ³£ÓõĹػú/ÖØÆôÃüÁîÓÐshutdown¡¢halt¡¢reboot¡¢¼°init£¬ËüÃǶ¼¿ÉÒÔ´ïµ½ÖØÆôϵͳµÄÄ¿µÄ£¬µ«Ã¿¸öÃüÁîµÄÄÚ²¿¹¤×÷¹ý³ÌÊDz»Í¬µÄ£¬Í¨¹ý±¾ÎĵĽéÉÜ£¬Ï£ÍûÄã¿ÉÒÔ¸ü¼ÓÁé»îµÄÔËÓø÷ÖֹػúÃüÁî¡£
¡¡¡¡1.shutdown
¡¡¡¡shutdownÃüÁȫµØ½«ÏµÍ³¹Ø»ú¡£ÓÐЩÓû§»áʹÓÃÖ±½Ó¶ÏµôµçÔ´µÄ·½Ê½À´¹Ø±Õlinux£¬ÕâÊÇÊ®·ÖΣÏյġ£ÒòΪlinuxÓëwindows²»Í¬£¬Æäºǫ́ÔËÐÐ×ÅÐí¶à½ø³Ì£¬ËùÒÔÇ¿ÖÆ¹Ø»ú¿ÉÄܻᵼÖ½ø³ÌµÄÊý¾Ý¶ªÊ§£¬Ê¹ÏµÍ³´¦ÓÚ²»Îȶ¨µÄ״̬£¬ÉõÖÁÔÚÓеÄϵͳÖлáËð»µÓ²¼þÉ豸¡£
¡¡¡¡¶øÔÚϵͳ¹Ø»úǰʹÓÃshutdownÃüÁϵͳ¹ÜÀíÔ±»á֪ͨËùÓеǼµÄÓû§ÏµÍ³½«Òª¹Ø±Õ¡£²¢ÇÒloginÖ¸Áî»á±»¶³½á£¬¼´ÐµÄÓû§²»ÄÜÔٵǼ¡£Ö±½Ó¹Ø»ú»òÕßÑÓ³ÙÒ»¶¨µÄʱ¼ä²Å¹Ø»ú¶¼ÊÇ¿ÉÄܵ쬻¹¿ÉÄÜÖØÆô¡£ÕâÊÇÓÉËùÓнø³Ì(process)¶¼»áÊÕµ½ÏµÍ³ËùËÍ´ïµÄÐźÅ(signal)¾ö¶¨µÄ¡£ÕâÈÃÏñ viÖ®ÀàµÄ³ÌÐòÓÐʱ¼ä´¢´æÄ¿Ç°ÕýÔڱ༵ÄÎĵµ£¬¶øÏñ´¦ÀíÓʼþ(mail)ºÍÐÂÎÅ(news)µÄ³ÌÐòÔò¿ÉÒÔÕý³£µØÀ뿪µÈµÈ¡£
¡¡¡¡shutdownÖ´ÐÐËüµÄ¹¤×÷ÊÇËÍÐźÅ(signal)¸øinit³ÌÐò£¬ÒªÇóËü¸Ä±ärunlevel¡£Runlevel 0±»ÓÃÀ´Í£»ú(halt)£¬runlevel 6ÊÇÓÃÀ´ÖØÐ¼¤»î(reboot)ϵͳ£¬¶ørunlevel 1ÔòÊDZ»ÓÃÀ´ÈÃϵͳ½øÈë¹ÜÀí¹¤×÷¿ÉÒÔ½øÐеÄ״̬﹔ÕâÊÇÔ¤ÉèµÄ£¬¼Ù¶¨Ã»ÓÐ-hҲûÓÐ-r²ÎÊý¸øshutdown¡£ÒªÏëÁ˽âÔÚÍ£»ú(halt)»òÕßÖØÐ¿ª»ú (reboot)¹ý³ÌÖÐ×öÁËÄÄЩ¶¯×÷£¬Äã¿ÉÒÔÔÚÕâ¸öÎļþ/etc/inittabÀï¿´µ½ÕâЩrunlevelsÏà¹ØµÄ×ÊÁÏ¡£
¡¡¡¡shutdown ²ÎÊý˵Ã÷:
¡¡¡¡[-t] Ôڸı䵽ÆäËürunlevel֮ǰ£¬¸æËßinit¶à¾ÃÒÔºó¹Ø»ú¡£
¡¡¡¡[-r] ÖØÆô¼ÆËãÆ÷¡£
¡¡¡¡[-k] ²¢²»ÕæÕý¹Ø»ú£¬Ö»ÊÇË;¯¸æÐźŸøÃ¿Î»µÇ¼Õß(login)¡£
¡¡¡¡[-h] ¹Ø»úºó¹Ø±ÕµçÔ´(halt)¡£
¡¡¡¡[-n] ²»ÓÃinit£¬¶øÊÇ×Ô¼ºÀ´¹Ø»ú¡£²»¹ÄÀøÊ¹ÓÃÕâ¸öÑ¡Ï¶øÇÒ¸ÃÑ¡ÏîËù²úÉúµÄºó¹ûÍùÍù²»×ÜÊÇÄãËùÔ¤ÆÚµÃµ½µÄ¡£
¡¡¡¡[-c] cancel current processÈ¡ÏûĿǰÕýÔÚÖ´ÐеĹػú³ÌÐò¡£ËùÒÔÕâ¸öÑ¡ÏȻûÓÐʱ¼ä²ÎÊý£¬µ«ÊÇ¿ÉÒÔÊäÈëÒ»¸öÓÃÀ´½âÊ͵ÄѶϢ£¬¶øÕâÐÅÏ¢½«»áË͵½Ã¿Î»Ê¹ÓÃÕß¡£
¡¡¡¡[-f] ÔÚÖØÆô¼ÆËãÆ÷(reboot)ʱºöÂÔfsck¡£
¡¡¡¡[-F] ÔÚÖØÆô¼ÆËãÆ÷(reboot)ʱǿÆÈfsck¡£
¡¡¡¡[-time] É趨¹Ø»ú(shutdown)ǰµÄʱ¼ä¡£
¡¡¡¡ ¡¡¡¡
¡¡¡¡2.halt----×î¼òµ¥µÄ¹Ø»úÃüÁî
¡¡¡¡Æäʵhalt¾ÍÊǵ÷ÓÃshutdown -h¡£haltÖ´ÐÐʱ£¬É±ËÀÓ¦Óýø³Ì£¬Ö´ÐÐsyncϵͳµ÷Óã¬Îļþϵͳд²Ù×÷Íê³Éºó¾Í»áÍ£Ö¹Äںˡ£
¡¡¡¡²ÎÊý˵Ã÷:
¡¡¡¡[-n] ·ÀÖ¹syncϵͳµ÷Óã¬ËüÓÃÔÚÓÃfsckÐÞ²¹¸ù·ÖÇøÖ®ºó£¬ÒÔ×èÖ¹ÄÚºËÓÃÀϰ汾µÄ³¬¼¶¿é(supe
Ïà¹ØÎĵµ£º
´´½¨linux·þÎñ£¬Ê¹µÃtest client¿ÉÒÔ¿ª»úÆô¶¯£¬²½ÖèÈçÏ£º
1.´´½¨Ä¿Â¼/usr/local/test/
2.¸´ÖÆtestcµ½/usr/local/test/
3.±àдÎļþ/etc/init.d/testc.sh
testc.sh
--------------------begin(not included)-----------------------
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: &nbs ......
×¢Òâ¸Ã·½·¨ÊǼÆËãµÄ×Ô¿ª»úÒÔÀ´µÄʹÓÃÂÊ£¬ÊÇÒ»¸öÈ«¾ÖµÄ£¬Ã»¶à´óÒâÒ壬ÿһ´Î¼ÆËãCPUÀûÓÃÂÊ = 100 *£¨user + nice + system£©/£¨user + nice + system + idle£© ÕâÀïÒª¼õÈ¥Ò»¶¨Ê±¼äÒÔǰ·½¿É¼ÆËã³öÕâÒ»¶Îʱ¼äÄÚµÄcpuʹÓÃÂÊ¡£ "procÎļþϵͳÊÇÒ»¸öαÎļþϵͳ£¬ËüÖ»´æÔÚÄÚ´æµ±ÖУ¬¶ø²»Õ¼ÓÃÍâ´æ¿Õ¼ä¡£ËüÒÔÎļþϵͳµÄ·½Ê½Îª·ÃÎÊÏµÍ ......
ÔÚlinuxµÄÇý¶¯³ÌÐòÖУ¬¶¼»áʹÓôóÁ¿µÄoutb¡¢outw¡¢inb¡¢inwµÈµÈºêÀ´·ÃÎÊÓ²¼þ»ò¼Ä´æÆ÷¡£ÕâЩºêµÄ¶¨Òå¶¼ÔÚÏàÓ¦´¦ÀíÆ÷ÌåϵϵÄinclude\asmĿ¼ÏµÄio.hÖж¨Òå¡£×·¾¿ÏÂÈ¥£¬ÕâЩºê×îÖÕ¾ÍÊÇÒ»¸övolatile±äÁ¿µÄµÄ¸³Öµ£º
#define __arch_putb(v,a) (*(volatile unsi ......