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

linuxÖÐwaitpidϵͳµ÷ÓÃ

¶ÔÓÚ½ø³ÌµÄÒ»Éú¿ÉÒÔÓÃһЩÐÎÏóµÄ±ÈÓ÷×÷Ò»¸öССµÄ×ܽ᣺
Ëæ×ÅÒ»¾äfork£¬Ò»¸öнø³ÌßÉßÉÂ䵨£¬µ«ËüÕâʱֻÊÇÀϽø³ÌµÄÒ»¸ö¿Ë¡¡£
È»ºóËæ×Åexec£¬Ð½ø³ÌÍÑÌ¥»»¹Ç£¬Àë¼Ò¶ÀÁ¢£¬¿ªÊ¼ÁËΪÈËÃñ·þÎñµÄÖ°ÒµÉúÑÄ¡£
ÈËÓÐÉúÀϲ¡ËÀ£¬½ø³ÌÒ²Ò»Ñù£¬Ëü¿ÉÒÔÊÇ×ÔÈ»ËÀÍö£¬¼´ÔËÐе½mainº¯ÊýµÄ×îºóÒ»¸ö”}”£¬´ÓÈݵØÀëÎÒÃǶøÈ¥£»Ò²¿ÉÒÔÊÇ×Ôɱ£¬×ÔɱÓÐ2ÖÖ·½Ê½£¬Ò»ÖÖÊǵ÷Óà exitº¯Êý£¬Ò»ÖÖÊÇÔÚmainº¯ÊýÄÚʹÓÃreturn£¬ÎÞÂÛÄÄÒ»ÖÖ·½Ê½£¬Ëü¶¼¿ÉÒÔÁôÏÂÒÅÊ飬·ÅÔÚ·µ»ØÖµÀï±£ÁôÏÂÀ´£»Ëü»¹ÉõÖÁÄܿɱ»Ä±É±£¬±»ÆäËü½ø³Ìͨ¹ýÁíÍâһЩ·½Ê½½áÊøËûµÄÉúÃü¡£
½ø³ÌËÀµôÒԺ󣬻áÁôÏÂÒ»¾ß½©Ê¬£¬waitºÍwaitpid³äµ±ÁËéçʬ¹¤£¬°Ñ½©Ê¬ÍÆÈ¥»ð»¯£¬Ê¹Æä×îÖÕ¹éÓÚÎÞÐΡ£
 
ÔÚlinuxÖÐwaitϵͳµ÷ÓÃÒ»ÎÄÖнéÉÜÁËÆäÖеÄÒ»¸öéçʬ¹¤wait£¬ ÏÂÃæ½éÉÜÁíÒ»¸öwaitpid£¬Õâ¸öÃ²ËÆ¸´ÔÓЩ¡£
 
waitpidº¯ÊýÔ­ÐÍ£º
 
#include<sys/types.h>/* ÌṩÀàÐÍpid_tµÄ¶¨Òå */
#include<sys/wait.h>
pid_twaitpid(pid_t pid,int* status,int options);
´Ó±¾ÖÊÉϽ²£¬ÏµÍ³µ÷ÓÃwaitpidºÍwaitµÄ×÷ÓÃÊÇÍêÈ«ÏàͬµÄ£¬µ«waitpid¶à³öÁËÁ½¸ö¿ÉÓÉÓû§¿ØÖƵIJÎÊýpidºÍoptions£¬´Ó¶øÎªÎÒÃDZà³ÌÌṩÁËÁíÒ»ÖÖ¸üÁé»îµÄ·½Ê½¡£ÏÂÃæÎÒÃǾÍÀ´Ïêϸ½éÉÜÒ»ÏÂÕâÁ½¸ö²ÎÊý£º
 
pid
 
´Ó²ÎÊýµÄÃû×ÖpidºÍÀàÐÍpid_tÖоͿÉÒÔ¿´³ö£¬ÕâÀïÐèÒªµÄÊÇÒ»¸ö½ø³ÌID¡£µ«µ±pidÈ¡²»Í¬µÄֵʱ£¬ÔÚÕâÀïÓв»Í¬µÄÒâÒå¡£
 
1. pid>0ʱ£¬Ö»µÈ´ý½ø³ÌIDµÈÓÚpidµÄ×Ó½ø³Ì£¬²»¹ÜÆäËüÒѾ­ÓжàÉÙ×Ó½ø³ÌÔËÐнáÊøÍ˳öÁË£¬Ö»ÒªÖ¸¶¨µÄ×Ó½ø³Ì»¹Ã»ÓнáÊø£¬waitpid¾Í»áÒ»Ö±µÈÏÂÈ¥¡£
2. pid=-1ʱ£¬µÈ´ýÈκÎÒ»¸ö×Ó½ø³ÌÍ˳ö£¬Ã»ÓÐÈκÎÏÞÖÆ£¬´ËʱwaitpidºÍwaitµÄ×÷ÓÃһģһÑù¡£
3. pid=0ʱ£¬µÈ´ýͬһ¸ö½ø³Ì×éÖеÄÈκÎ×Ó½ø³Ì£¬Èç¹û×Ó½ø³ÌÒѾ­¼ÓÈëÁ˱ðµÄ½ø³Ì×飬waitpid²»»á¶ÔËü×öÈκÎÀí²Ç¡£
4. pid<-1ʱ£¬µÈ´ýÒ»¸öÖ¸¶¨½ø³Ì×éÖеÄÈκÎ×Ó½ø³Ì£¬Õâ¸ö½ø³Ì×éµÄIDµÈÓÚpidµÄ¾ø¶ÔÖµ¡£
 
options
 
optionsÌṩÁËһЩ¶îÍâµÄÑ¡ÏîÀ´¿ØÖÆwaitpid£¬Ä¿Ç°ÔÚLinuxÖÐÖ»Ö§³ÖWNOHANGºÍWUNTRACEDÁ½¸öÑ¡ÏÕâÊÇÁ½¸ö³£Êý£¬¿ÉÒÔÓÔ|”ÔËËã·û°ÑËüÃÇÁ¬½ÓÆðÀ´Ê¹Ó㬱ÈÈ磺
 
ret=waitpid(-1,NULL,WNOHANG|WUNTRACED);
Èç¹ûÎÒÃDz»ÏëʹÓÃËüÃÇ£¬Ò²¿ÉÒÔ°ÑoptionsÉèΪ0£¬È磺
 
ret=waitpid(-1,NULL,0);
Èç¹ûʹÓÃÁËWNOHANG²ÎÊýµ÷ÓÃwaitpid£¬¼´Ê¹Ã»ÓÐ×Ó½ø³ÌÍ˳ö£¬ËüÒ²»áÁ¢¼´·µ»Ø£¬²»»áÏñwaitÄÇÑùÓÀÔ¶µÈÏÂÈ¥¡£


Ïà¹ØÎĵµ£º

ÔÚLINUXÏÂʹÓà Squid ´úÀí·þÎñÆ÷


¡¡¡¡Ê¹Óà Squid ´úÀí·þÎñÆ÷
¡¡¡¡Squid ÊÇÒ»ÖÖ´úÀí·þÎñÆ÷£¬ËüʵÏÖÁË¶Ô HTTP¡¢FTP ºÍ Gopher ЭÒéµÄ»º´æ¡£Squid Äܹ»Ê¹Ó÷ÃÎÊ¿ØÖÆÁÐ±í£¨Access Control List£¬ACL£©À´ÔÊÐí»ò¾Ü¾ø·ÃÎÊ¡£Squid ¾ß±¸Ç¿´óµÄ¿ÉÅäÖÃÄÜÁ¦ÒÔ¼°Â³°ôÐÔ£¬¶øÇÒÓû§»á·¢ÏÖ£¬¸ÃÈí¼þ·Ç³£ÈÝÒ×ѧϰ¡£¸üºÃµÄÊÇ£¬¿É½« Squid ÅäÖÃΪ͸Ã÷´úÀí£¬¼´ºÃÏñÓû§¸ù±¾²» ......

ʵÀý½âÎöLinuxÏÂĿ¼µÄȨÏÞ

ʵÀý½âÎöLinuxÏÂĿ¼µÄȨÏÞ
˵Ã÷:Èç¹û¶Ôumask,ȨÏÞÖµ,ÎļþµÄȨÏÞr,w,x¶¼²»Á˽âµÄÅóÓÑ,ÇëÏÈÈ¥²¹Ò»ÏÂÕâ·½ÃæµÄ֪ʶ,ÕâÀï²»×ö½éÉÜ,Ö±½Ó½øÈëÕýÌâ.
Ï£Íûͨ¹ýʵÀý½²½â,ÄÜÈøü¶àµÄ³õѧÕß¶ÔĿ¼µÄȨÏÞ¸üÇåÎú,¸üÃ÷°×!
      
±¾ÊµÀýÓõ½Á½¸öÕʺÅ:root  ºÍ Ò»°ãÓû§
(rootÓû§µÄÌáʾ·û "#&qu ......

LinuxÏÂÍøÂç±à³Ì¸ÅÊö


LinuxÏÂÍøÂç±à³Ì¸ÅÊö
Ò»£®ÍøÂç֪ʶ¸ÅÊö
ÍøÂç³ÌÐòºÍÆÕͨ³ÌÐò×î´óµÄÇø±ðÊÇÍøÂç³ÌÐòÓÉÁ½²¿·Ö×é³É£º¿Í»§¶ËºÍ·þÎñÆ÷¶Ë¡£
¿Í»§¶Ë£ºÔÚÍøÂç³ÌÐòÖУ¬Èç¹ûÒ»¸ö³ÌÐòÖ÷¶¯ºÍÍâÃæµÄ³ÌÐòͨÐÅ£¬ÄÇôÎÒÃǾͰѸóÌÐò³ÆÎª¿Í»§¶Ë³ÌÐò¡£
·þÎñÆ÷¶Ë£ººÍ¿Í»§¶Ë¶ÔÓ¦µÄ³ÌÐò¼´Îª·þÎñÆ÷¶Ë£»±»¶¯µØµÈ´ýÍâÃæ³ÌÐòÀ´ºÍ×Ô¼ºÍ¨ÐŵijÌÐò¼´Îª·þÎñÆ÷¶Ë³ÌÐò¡ ......

linux shell±à³ÌifÓï¾äÄÚÅжϲÎÊý

shell ±à³ÌÖÐʹÓõ½µÃifÓï¾äÄÚÅжϲÎÊý
–b µ±file´æÔÚ²¢ÇÒÊÇ¿éÎļþʱ·µ»ØÕæ
-c µ±file´æÔÚ²¢ÇÒÊÇ×Ö·ûÎļþʱ·µ»ØÕæ
-d µ±pathname´æÔÚ²¢ÇÒÊÇÒ»¸öĿ¼ʱ·µ»ØÕæ
-e µ±pathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚʱ·µ»ØÕæ
-f µ±file´æÔÚ²¢ÇÒÊÇÕý¹æÎļþʱ·µ»ØÕæ
-g µ±ÓÉpathnameÖ¸¶¨µÄÎļþ»òĿ¼´æÔÚ²¢ÇÒÉèÖÃÁËSGIDλʱ·µ»ØÎªÕæ
......

LINUXÄں˾«¼ò

Linux×ÔÉí¾ß±¸Ò»ÕûÌ×¹¤¾ßÁ´£¬ÈÝÒ××ÔÐн¨Á¢Ç¶ÈëʽϵͳµÄ¿ª·¢»·¾³ºÍ½»²æÔËÐл·¾³£¬²¢ÇÒ¿ÉÒÔ¿çԽǶÈëʽϵͳ¿ª·¢ÖеķÂÕæ¹¤¾ß£¨ICE£©µÄÕϰ­¡£Äں˵ÄÍêÈ«¿ª·ÅʹÈËÃÇ¿ÉÒÔ×Ô¼ºÉè¼ÆºÍ¿ª·¢³öÕæÕýµÄӲʵʱϵͳ£¬ÈíʵʱϵͳÔÚLinuxÖÐÒ²ÈÝÒ׵õ½ÊµÏÖ¡£Ç¿´óµÄÍøÂçÖ§³ÖʹµÃ¿ÉÒÔÀûÓÃLinuxµÄÍøÂçЭÒéÕ»½«Æä¿ª·¢³ÉΪǶÈëʽµÄTCP/IPÍøÂçЭÒéÕ» ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ