Linux²¢·¢·þÎñÆ÷ÎÊÌâ
Ò»°ã²¢·¢·þÎñÆ÷µÄ·½·¨£º
listen(listenfd, n);
connfd = accept(¡¡);
for(;;) {
pid = fork();
if(pid > 0){
close(listenfd);
process();
close(connfd);
}
}
ÒÔÉÏ·½·¨²ÎÕÕunixÍøÂç±à³Ì£¬ÔÚforkÖ®ºóÔÙaccept¿ÉÒÔÂð£¬Á½ÕßÓÐÊ²Ã´Çø±ð£¿
forkÖ®ºóÔÙaccept¾Í»áÖ´ÐÐ2´Îaccept ~~
Ϊʲô²»ÓÃÏ̶߳øÓýø³Ì£¿
²»Ã÷°×°¡£¬ÎªÊ²Ã´forkÖ®ºóacceptÁ½´Î£¿
Ö»ÊÇÄÃÕâ¸ö¾Ù¸öÀý×Ó£¬Ö÷ÒªÏëÖªµÀacceptÔÚforkǰºóÖ´ÐÐÓÐÊ²Ã´Çø±ð
ѧϰÁË
ÏÈŪÃ÷°×forkµÄÓ÷¨
fork()º¯Êý£¬Linuxϵͳµ÷ÓÃ
¡¡¡¡Í·Îļþ£º
¡¡¡¡#include <unistd.h>
¡¡¡¡º¯Êý¶¨Ò壺
¡¡¡¡int fork( void );
¡¡¡¡·µ»ØÖµ£º
¡¡¡¡×Ó½ø³ÌÖзµ»Ø0£¬¸¸½ø³ÌÖзµ»Ø×Ó½ø³ÌID£¬³ö´í·µ»Ø-1
¡¡¡¡º¯Êý˵Ã÷£º
¡¡¡¡Ò»¸öÏÖÓнø³Ì¿ÉÒÔµ÷ÓÃforkº¯Êý´´½¨Ò»¸öнø³Ì¡£ÓÉfork´´½¨µÄнø³Ì±»³ÆÎª×Ó½ø³Ì£¨child process£©¡£forkº¯Êý±»µ÷ÓÃÒ»´Îµ«·µ»ØÁ½´Î¡£Á½´Î·µ»ØµÄÎ¨Ò»Çø±ðÊÇ×Ó½ø³ÌÖзµ»Ø0Öµ¶ø¸¸½ø³ÌÖзµ»Ø×Ó½ø³ÌID¡£
¡¡¡¡×Ó½ø³ÌÊǸ¸½ø³ÌµÄ¸±±¾£¬Ëü½«»ñµÃ¸¸½ø³ÌÊý¾Ý¿Õ¼ä¡¢¶Ñ¡¢Õ»µÈ×ÊÔ´µÄ¸±±¾¡£×¢Ò⣬×Ó½ø³Ì³ÖÓеÄÊÇÉÏÊö´æ´¢¿Õ¼äµÄ¡°¸±±¾¡±£¬ÕâÒâζן¸×Ó½ø³Ì¼ä²»¹²ÏíÕâЩ´æ´¢¿Õ¼ä£¬ËüÃÇÖ®¼ä¹²ÏíµÄ´æ´¢¿Õ¼äÖ»ÓдúÂë¶Î¡£
¡¡¡¡Ê¾Àý´úÂ룺
¡¡¡¡#include <unistd.h>
¡¡¡¡#in
Ïà¹ØÎÊ´ð£º
ÎÒÔÚLINUXÉÏÓÐÁ½¸öÓû§
Ò» root
¶þ myadmin
¡¾myadmin@localhost~¡¿$ dir
Desktop myphp
[myadminlocalhost~]$ cd myphp¡¢DesktopÄܽøÈ¥ÆäËûµÄϵͳĿ¼½ø²»È¥
Ö»ÓÐÕâÁ½¸öĿ¼ ÎÒÏë½øÈëÆäËûµÄÏ ......
linux ÏÂusbÉ豸£¬ÔÚrootȨÏÞÏ£¬É豸¿ÉÒÔÕý³£ÕÒµ½Çý¶¯£¬
µ«ÔÚÆÕͨÓû§ÏÂÕÒ²»µ½É豸Çý¶¯£¬
ÔõÑù²Å¿ÉÒÔÔÚÆÕͨÓû§ÏÂʹÓÃusbÉ豸£¿
Çë¸ßÊÖÖ¸½Ì
°ï¶¥Ï¡¢
ûÓöµ½¹ý£¬ÎÒÓõÄfedoraÆÕͨÓû§Ä¬ÈϵÄÒ²ÄÜÓðɣ ......
±¾À´Ã»ÎÊÌâµÄ£¬µ«ÊÇÏÖÔÚ²»¹ÜÓÃʲô¹¤¾ßÁ¬Êý¾Ý¿â¶¼ºÜÂý£¬ÒòΪºóÀ´·þÎñÆ÷Öжà¼ÓÁË¿éÍø¿¨£¬¶øÊý¾Ý¿â¼àÌýÉèÖõϹÊÇ·þÎñÆ÷Ãû£¬ÎÒÏë»á²»»áÊÇÕâ¸öÎÊÌ⣬Çë½Ì¸ßÊÖ£¬²¢Ñ¯Îʽâ¾ö·½·¨£¡Ð»Ð»
×Ô¼ºÏȶ¥ÏÂ
°Ñºó¼ÓµÄÍø¿¨ÄõôÔÚ ......
¸÷λÀÏʦºÃ£ºÐ¡µÜÓÐÒ»µãÎÊÌâ ×ÁÄ¥Á˺þÃÏëÇë½Ì´óʦÃÇ£º
ÎÒÔÚ°²×°mysqlµÄʱºò °²×°µ½
./configure \
--prefix=/usr/local/mysql \
--with-extra-charsets=all
Õâ²½µÄʱºò³öÏÖ£º
configure: unknown option --p ......