Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux½ø³Ì¿ØÖÆ£­wait£¨£©

http://blog.chinaunix.net/u1/53053/showart_425197.html
#include <sys/types.h> /* ÌṩÀàÐÍpid_tµÄ¶¨Òå */
#include <sys/wait.h>
pid_t wait(int *status)

½ø³ÌÒ»µ©µ÷ÓÃÁËwait£¬¾ÍÁ¢¼´×èÈû×Ô¼º£¬ÓÉwait×Ô¶¯·ÖÎöÊÇ·ñµ±Ç°½ø³ÌµÄij¸ö×Ó½ø³ÌÒѾ­Í˳ö£¬Èç¹ûÈÃËüÕÒµ½ÁËÕâÑùÒ»¸öÒѾ­±ä³É½©Ê¬µÄ×Ó½ø³Ì£¬wait¾Í»áÊÕ¼¯Õâ¸ö×Ó½ø³ÌµÄÐÅÏ¢£¬²¢°ÑËü³¹µ×Ïú»Ùºó·µ»Ø£»Èç¹ûûÓÐÕÒµ½ÕâÑùÒ»¸ö×Ó½ø³Ì£¬wait¾Í»áÒ»Ö±×èÈûÔÚÕâÀֱµ½ÓÐÒ»¸ö³öÏÖΪֹ¡£
²ÎÊýstatusÓÃÀ´±£´æ±»ÊÕ¼¯½ø³ÌÍ˳öʱµÄһЩ״̬£¬ËüÊÇÒ»¸öÖ¸ÏòintÀàÐ͵ÄÖ¸Õë¡£µ«Èç¹ûÎÒÃǶÔÕâ¸ö×Ó½ø³ÌÊÇÈçºÎËÀµôµÄºÁ²»ÔÚÒ⣬ֻÏë°ÑÕâ¸ö½©Ê¬½ø³ÌÏûÃðµô£¬£¨ÊÂʵÉϾø´ó¶àÊýÇé¿öÏ£¬ÎÒÃǶ¼»áÕâÑùÏ룩£¬ÎÒÃǾͿÉÒÔÉ趨Õâ¸ö²ÎÊýΪNULL£¬¾ÍÏóÏÂÃæÕâÑù£º
pid = wait(NULL);

Èç¹û³É¹¦£¬wait»á·µ»Ø±»ÊÕ¼¯µÄ×Ó½ø³ÌµÄ½ø³ÌID£¬Èç¹ûµ÷Óýø³ÌûÓÐ×Ó½ø³Ì£¬µ÷Óþͻáʧ°Ü£¬´Ëʱwait·µ»Ø-1£¬Í¬Ê±errno±»ÖÃΪECHILD¡£
ÏÂÃæ¾ÍÈÃÎÒÃÇÓÃÒ»¸öÀý×ÓÀ´ÊµÕ½Ó¦ÓÃÒ»ÏÂwaitµ÷Óãº
/* wait1.c */
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>
main()
{
pid_t pc,pr;
pc=fork();
if(pc<0) /* Èç¹û³ö´í */
printf("error ocurred!\n");
else if(pc==0){ /* Èç¹ûÊÇ×Ó½ø³Ì */
printf("This is child process with pid of %d\n",getpid());
sleep(10); /* ˯Ãß10ÃëÖÓ */
}
else{ /* Èç¹ûÊǸ¸½ø³Ì */
pr=wait(NULL); /* ÔÚÕâÀïµÈ´ý */
printf("I catched a child process with pid of %d\n"),pr);
}
exit(0);
}
±àÒë²¢ÔËÐÐ:
$ cc wait1.c -o wait1
$ ./wait1
This is child process with pid of 1508
I catched a child process with pid of 1508
¿ÉÒÔÃ÷ÏÔ×¢Òâµ½£¬ÔÚµÚ2Ðнá¹û´òÓ¡³öÀ´Ç°ÓÐ10 ÃëÖӵĵȴýʱ¼ä£¬Õâ¾ÍÊÇÎÒÃÇÉ趨µÄÈÃ×Ó½ø³Ì˯ÃßµÄʱ¼ä£¬Ö»ÓÐ×Ó½ø³Ì´Ó˯ÃßÖÐËÕÐѹýÀ´£¬Ëü²ÅÄÜÕý³£Í˳ö£¬Ò²¾Í²ÅÄܱ»¸¸½ø³Ì²¶×½µ½¡£ÆäʵÕâÀïÎÒÃDz»¹ÜÉ趨×Ó½ø³Ì˯ÃßµÄʱ¼äÓж೤£¬¸¸½ø³Ì¶¼»áÒ»Ö±µÈ´ýÏÂÈ¥£¬¶ÁÕßÈç¹ûÓÐÐËȤµÄ»°£¬¿ÉÒÔÊÔ×Å×Ô¼ºÐÞ¸ÄÒ»ÏÂÕâ¸öÊýÖµ£¬¿´¿´»á³öÏÖÔõÑùµÄ½á¹û¡£
²ÎÊýstatus£º
Èç¹û²ÎÊýstatusµÄÖµ²»ÊÇNULL£¬wait¾Í»á°Ñ×Ó½ø³ÌÍ˳öʱµÄ״̬ȡ³ö²¢´æÈëÆäÖУ¬ÕâÊÇÒ»¸öÕûÊýÖµ£¨int£©£¬Ö¸³öÁË×Ó½ø³ÌÊÇÕý³£Í˳ö»¹ÊDZ»·ÇÕý³£½áÊøµÄ£¨Ò»¸ö½ø³ÌÒ²¿ÉÒÔ±»ÆäËû½ø³ÌÓÃÐźŽáÊø£¬ÎÒÃǽ«ÔÚÒÔºóµÄÎÄ


Ïà¹ØÎĵµ£º

LinuxѧϰÏß·...


ÖÐÎİæÊéÄ¿
¡¶Apache CookbookÖÐÎİ棨µÚ¶þ°æ£©¡· New!
¡¶Linux Networking CookbookÖÐÎİ桷 New!
¡¶Shell½Å±¾Ñ§Ï°Ö¸ÄÏ¡· New!
¡¶×¿ÓгÉЧµÄ³ÌÐòÔ±¡· New!
¡¶´úÂëÖ®ÃÀ¡· New!
¡¶Ç¶ÈëʽӲ¼þÉè¼Æ£¨µÚ¶þ°æ£©¡· New!
¡¶LPI LinuxÈÏ֤ȨÍþÖ¸ÄÏ£¨µÚ¶þ°æ£©¡· New!
¡¶LINUX SERVER HACKS£¨¾í¶þ£©¡· New!
¡¶BSD Hacks¡· ......

linux shellºÍÅäÖÃÎļþµÄÖ´ÐÐ˳Ðò

Ò»¡¢bash shellµÄ·ÖÀࣺ
     µÇ¼shell:Óû§µÇ¼linuxÖ÷»úʱȡµÃµÄshell.
     ·ÇµÇ¼shell£ºÓû§µÇ¼linuxÖ÷»úºó£¨È¡µÃÁ˵Ǽshell£©ÓÉÓÚÐèÒªÆô¶¯Ö´ÐеÄshell,È磺ÓÃsuÇл»Óû§ºóÈ¡µÃµÄshell;ÔڵǼshellÖÐ
          &nb ......

Linux ´´½¨Îļþϵͳ¼°¹ÒÔØÎļþϵͳÁ÷³ÌÏê½â

Linux ´´½¨Îļþϵͳ¼°¹ÒÔØÎļþϵͳÁ÷³ÌÏê½â
×÷Õߣº±±ÄÏÄϱ±
À´×Ô£º LinuxSir.Org
ÕªÒª£º±¾ÎĶÔÐÂÔöÓ²ÅÌ£¬ÇиîÓ²ÅÌ£¬´´½¨Ó²ÅÌ·ÖÇø£¬ÎªÓ²ÅÌ·ÖÇø´´½¨Îļþϵͳ£¬ÒÔ¼°¼ÓÔØÎļþϵͳµÄÁ÷³Ì×ö×ܽáÐÔÂÛÊö£»Ö÷ÒªÊÇΪ³õѧÕßŪÇå³þÕâÒ»²Ù×÷¹ý³Ì£»±¾ÎÄ
Éæ¼°fdisk¡¢mkfs¡¢mount ... ... µÈ¹¤¾ß£»¶Ô/etc/fstab ½øÐÐÁ˽â˵£»»¹ÓдÅÅÌɨà ......

linux½ø³Ìµ÷¶ÈÕþ²ß


½ø³Ìµ÷¶ÈÕþ²ß¾ÍÊǵ÷¶ÈϵͳÖÖÄÄÒ»¸ö½ø³ÌÀ´CPUÔËÐС£ÕâÖÖµ÷¶È·Ö2²ã¿¼ÂÇ¡£
µÚÒ»²ã£¬½ø³Ì״̬Õâ¸öÊÇ×îÓÅÏÈ¿¼Âǵģ¬Ò²¾ÍÊÇ˵ÓÅÏȼ¶×î¸ßµÄ¡£ÔÚlinuxÖÐÖ»ÓоÍÐ÷̬µÄ½ø³Ì²ÅÓпÉÄܻᱻµ÷¶ÈÑ¡ÖÐÈ»ºóÕ¼ÓÐCPU£¬ÆäËü״̬µÄ½ø³Ì²»¿ÉÄÜÕ¼Óеĵ½CPU¡£ÏÂÃæÊÇlinuxÖнø³ÌµÄ״̬
TASK_RUNNING:¾ÍÐ÷״̬£¬µÃµ½CPU¾Í¿ÉÒÔÔËÐС£
TASK_INTERRU ......

linux sz rz ÃüÁî

ÎÒÏë¸üÓкܶàÈËûÓÐÌý˵¹ýZModemЭÒ飬¸ü²»ÖªµÀÓÐrz/szÕâÑù·½±ãµÄ¹¤¾ß¡£
¡¡¡¡ºÃ¶«Î÷²»¸Ò¶ÀÏí¡£ÒÔϸø³öÎÒÖªµÀµÄÒ»µãƤë¡£
¡¡¡¡ÏÂÃæÒ»¶ÎÊÇ´ÓSecureCRTµÄ°ïÖúÖÐcopyµÄ£º
¡¡¡¡ZModem is a full-duplex file transfer protocol that supports fast data transfer rates and effective error detection. ZModem is very user ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ