linux½ø³Ì¿ØÖÆ£exit£¨£©
http://blog.chinaunix.net/u1/53053/showart_425191.html
#include<stdlib.h>
void exit(int status);
²»ÏñforkÄÇôÄÑÀí½â£¬´ÓexitµÄÃû×Ö¾ÍÄÜ¿´³ö£¬Õâ¸öϵͳµ÷ÓÃÊÇÓÃÀ´ÖÕÖ¹Ò»¸ö½ø³ÌµÄ¡£ÎÞÂÛÔÚ³ÌÐòÖеÄʲôλÖã¬Ö»ÒªÖ´Ðе½exitϵͳµ÷Ó㬽ø³Ì¾Í»áֹͣʣϵÄËùÓвÙ×÷£¬Çå³ý°üÀ¨PCBÔÚÄڵĸ÷ÖÖÊý¾Ý½á¹¹£¬²¢ÖÕÖ¹±¾½ø³ÌµÄÔËÐС£Çë¿´ÏÂÃæµÄ³ÌÐò£º
/* exit_test1.c */
#include<stdlib.h>
main()
{
printf("this process will exit!\n");
exit(0);
printf("never be displayed!\n");
}
±àÒëºóÔËÐУº
$gcc exit_test1.c -o exit_test1
$./exit_test1
this process will exit!
ÎÒÃÇ¿ÉÒÔ¿´µ½£¬³ÌÐò²¢Ã»ÓдòÓ¡ºóÃæµÄ"never be displayed!\n"£¬ÒòΪÔÚ´Ë֮ǰ£¬ÔÚÖ´Ðе½exit(0)ʱ£¬½ø³Ì¾ÍÒѾÖÕÖ¹ÁË¡£
exit ϵͳµ÷ÓôøÓÐÒ»¸öÕûÊýÀàÐ͵IJÎÊýstatus£¬ÎÒÃÇ¿ÉÒÔÀûÓÃÕâ¸ö²ÎÊý´«µÝ½ø³Ì½áÊøÊ±µÄ״̬£¬±ÈÈç˵£¬¸Ã½ø³ÌÊÇÕý³£½áÊøµÄ£¬»¹ÊdzöÏÖijÖÖÒâÍâ¶ø½áÊøµÄ£¬Ò»°ãÀ´Ëµ£¬0±íʾûÓÐÒâÍâµÄÕý³£½áÊø£»ÆäËûµÄÊýÖµ±íʾ³öÏÖÁË´íÎ󣬽ø³Ì·ÇÕý³£½áÊø¡£ÎÒÃÇÔÚʵ¼Ê±à³Ìʱ£¬¿ÉÒÔÓÃwaitϵͳµ÷ÓýÓÊÕ×Ó½ø³ÌµÄ·µ»ØÖµ£¬´Ó¶øÕë¶Ô²»Í¬µÄÇé¿ö½øÐв»Í¬µÄ´¦Àí¡£¹ØÓÚwaitµÄÏêϸÇé¿ö£¬ÎÒÃǽ«ÔÚÒÔºóµÄƪ·ùÖнøÐнéÉÜ¡£
exitºÍ_exit
×÷Ϊϵͳµ÷ÓöøÑÔ£¬_exitºÍexitÊÇÒ»¶ÔÂÏÉúÐֵܡ£
ÕâÊ±Ëæ±ãÒ»¸ö¶®µÃCÓïÑÔ²¢ÇÒÍ·ÄÔÇåÐѵÄÈ˶¼»á˵£¬_exitºÍexitûÓÐÈκÎÇø±ð£¬µ«ÎÒÃÇ»¹Òª½²Ò»ÏÂÕâÁ½ÕßÖ®¼äµÄÇø±ð£¬ÕâÖÖÇø±ðÖ÷ÒªÌåÏÖÔÚËüÃÇÔÚº¯Êý¿âÖе͍Òå¡£_exitÔÚLinuxº¯Êý¿âÖеÄÔÐÍÊÇ£º
#include<unistd.h>
void _exit(int status);
ºÍexit±È½Ïһϣ¬exit()º¯Êý¶¨ÒåÔÚ stdlib.hÖУ¬¶ø_exit()¶¨ÒåÔÚunistd.hÖУ¬´ÓÃû×ÖÉÏ¿´£¬stdlib.hËÆºõ±Èunistd.h¸ß¼¶Ò»µã£¬ÄÇô£¬ËüÃÇÖ®¼äµ½µ×ÓÐÊ²Ã´Çø±ðÄØ£¿ÈÃÎÒÃÇÏÈÀ´¿´Á÷³Ìͼ£¬Í¨¹ýÏÂͼ£¬ÎÒÃÇ»á¶ÔÕâÁ½¸öϵͳµ÷ÓõÄÖ´Ðйý³Ì²úÉúÒ»¸ö½ÏΪֱ¹ÛµÄÈÏʶ¡£
´ÓͼÖпÉÒÔ¿´³ö£¬_exit()º¯ÊýµÄ×÷ÓÃ×îΪ¼òµ¥£ºÖ±½Óʹ½ø³ÌÍ£Ö¹ÔËÐУ¬Çå³ýÆäʹÓõÄÄÚ´æ¿Õ¼ä£¬²¢Ïú»ÙÆäÔÚÄÚºËÖеĸ÷ÖÖÊý¾Ý½á¹¹£»exit()º¯ÊýÔòÔÚÕâЩ»ù´¡ÉÏ×÷ÁËһЩ°ü×°£¬ÔÚÖ´ÐÐÍ˳ö֮ǰ¼ÓÁËÈô¸ÉµÀ¹¤Ðò£¬Ò²ÊÇÒòΪÕâ¸öÔÒò£¬ÓÐЩÈËÈÏΪexitÒѾ²»ÄÜËãÊÇ´¿´âµÄϵͳµ÷Óá£
exit()º¯ÊýÓë_exit()º¯Êý×î´óµÄÇø±ð¾ÍÔÚÓÚexit()º¯ÊýÔÚµ÷ÓÃexitϵͳµ÷ÓÃ֮ǰҪ¼ì²éÎļþµÄ´ò¿ªÇé¿ö£¬°ÑÎļþ»º³åÇøÖеÄÄÚÈÝд»ØÎļþ£¬¾ÍÊÇͼÖеēÇåÀíI/O»º³å”Ò»Ïî¡£
ÔÚLinux µÄ±ê×¼º¯Êý¿âÖ
Ïà¹ØÎĵµ£º
Linux ´´½¨Îļþϵͳ¼°¹ÒÔØÎļþϵͳÁ÷³ÌÏê½â
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£º LinuxSir.Org
ÕªÒª£º±¾ÎĶÔÐÂÔöÓ²ÅÌ£¬ÇиîÓ²ÅÌ£¬´´½¨Ó²ÅÌ·ÖÇø£¬ÎªÓ²ÅÌ·ÖÇø´´½¨Îļþϵͳ£¬ÒÔ¼°¼ÓÔØÎļþϵͳµÄÁ÷³Ì×ö×ܽáÐÔÂÛÊö£»Ö÷ÒªÊÇΪ³õѧÕßŪÇå³þÕâÒ»²Ù×÷¹ý³Ì£»±¾ÎÄ
Éæ¼°fdisk¡¢mkfs¡¢mount ... ... µÈ¹¤¾ß£»¶Ô/etc/fstab ½øÐÐÁ˽â˵£»»¹ÓдÅÅÌɨà ......
½ø³Ìµ÷¶ÈÕþ²ß¾ÍÊǵ÷¶ÈϵͳÖÖÄÄÒ»¸ö½ø³ÌÀ´CPUÔËÐС£ÕâÖÖµ÷¶È·Ö2²ã¿¼ÂÇ¡£
µÚÒ»²ã£¬½ø³Ì״̬Õâ¸öÊÇ×îÓÅÏÈ¿¼Âǵģ¬Ò²¾ÍÊÇ˵ÓÅÏȼ¶×î¸ßµÄ¡£ÔÚlinuxÖÐÖ»ÓоÍÐ÷̬µÄ½ø³Ì²ÅÓпÉÄܻᱻµ÷¶ÈÑ¡ÖÐÈ»ºóÕ¼ÓÐCPU£¬ÆäËü״̬µÄ½ø³Ì²»¿ÉÄÜÕ¼Óеĵ½CPU¡£ÏÂÃæÊÇlinuxÖнø³ÌµÄ״̬
TASK_RUNNING:¾ÍÐ÷״̬£¬µÃµ½CPU¾Í¿ÉÒÔÔËÐС£
TASK_INTERRU ......
LinuxÍøÂçÇý¶¯³ÌÐò±àд(Ò»)
¹¤×÷ÐèҪдÁËÎÒÃǹ«Ë¾Ò»¿éÍø¿¨µÄLinuxÇý¶¯³ÌÐò¡£¾ÀúÒ»¸ö´ÓÎÞµ½ÓеĹý³Ì£¬Éî¸Ð¼¼Êõ½»Á÷µÄÖØÒª¡£Linux×÷ΪÌôս΢Èí¢¶ÏµÄÇ¿ÓÐÁ¦ÎäÆ÷£¬ÈÕÒæÊܵ½´ó¼ÒµÄϲ°®¡£ÕæÏ£ÍûËýÄÜÔÚÖйúѸËٳɳ¤¡£°Ñ³ÌÐòÎĵµÌù³öÀ´£¬Ï£ÍûºÍ´ó¼Ò̽ÌÖLinux¼¼ÊõºÍÓ¦Ó㬴ٽøLinuxÔÚÖйúµÄÆÕ¼°¡£
¡¡¡¡±¾ÎÄ¿ÉËæÒâ×ªÔØ£¬µ«Çë²»ÒªÔ ......
¶þ.LinuxÏµÍ³ÍøÂçÉ豸Çý¶¯³ÌÐò
¡¡¡¡2.1 ÍøÂçÇý¶¯³ÌÐòµÄ½á¹¹
¡¡¡¡ËùÓеÄLinuxÍøÂçÇý¶¯³ÌÐò×ñÑͨÓõĽӿڡ£Éè¼ÆÊ±²ÉÓõÄÊÇÃæÏò¶ÔÏóµÄ·½·¨¡£Ò»¸öÉ豸¾ÍÊÇÒ»¸ö¶ÔÏó(device ½á¹¹)£¬ËüÄÚ²¿ÓÐ×Ô¼ºµÄÊý¾ÝºÍ·½·¨¡£Ã¿Ò»¸öÉ豸µÄ·½·¨±»µ÷ÓÃʱµÄµÚÒ»¸ö²ÎÊý¶¼ÊÇÕâ¸öÉ豸¶ÔÏó±¾Éí¡£ÕâÑùÕâ¸ö·½·¨¾Í¿ÉÒÔ´æÈ¡×ÔÉíµÄÊý¾Ý(ÀàËÆÃæÏ ......