Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

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


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

Linux ÏÂc/c++ ±àÒëÆ÷

Gcc¼ò½é
LinuxϵͳϵÄgcc£¨GNU C Compiler£©ÊÇGNUÍÆ³öµÄ¹¦ÄÜÇ¿´ó¡¢ÐÔÄÜÓÅÔ½µÄ¶àƽ̨±àÒëÆ÷£¬ÊÇGNUµÄ´ú±í×÷Æ·Ö®Ò»¡£gccÊÇ¿ÉÒÔÔÚ¶àÖÖÓ²ÌåÆ½Ì¨ÉϱàÒë³ö¿ÉÖ´ÐгÌÐòµÄ³¬¼¶±àÒëÆ÷£¬ÆäÖ´ÐÐЧÂÊÓëÒ»°ãµÄ±àÒëÆ÷Ïà±Èƽ¾ùЧÂÊÒª¸ß20%~30%¡£
gcc ±àÒëÆ÷Äܽ«C¡¢C++ÓïÑÔÔ´³ÌÐò¡¢»ã³Ìʽ»¯ÐòºÍÄ¿±ê³ÌÐò±àÒë¡¢Á¬½Ó³É¿ÉÖ´ÐÐÎļþ£¬Èç¹ûûÓи ......

linux µ÷ÊÔ¹¤¾ß

 “¹¤ÓûÉÆÆäÊ ±ØÏÈÀûÆäÆ÷”ÏÖÔÚ½«Ò»Ð©³£¼ûµÄµ÷ÊÔ¹¤¾ß½øÐÐÒ»ÏÂ×ܽá.
 ¡¾1¡¿
Ãû³Æ£ºMEMWATCH
¹¦ÄÜ£º
    1¡¢MEMWATCH Ö§³Ö ANSI C
    2¡¢ËüÌṩ½á¹ûÈÕÖ¾¼Í¼
    3¡¢Äܼì²âË«ÖØÊÍ·Å£¨double-free£©
    4¡¢´íÎóÊÍ·Å£¨erroneous f ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ