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

´ÓÒ»µÀÃæÊÔÌâ̸LinuxÏÂforkµÄÔËÐлúÖÆ

ijÍâÆóÃæÊÔlinux¿ª·¢Ö°Î»ÃæÊÔÌ⣺
¸ø³öÈçÏÂC³ÌÐò£¬ÔÚlinuxÏÂʹÓÃgcc±àÒ룺
#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"
int main(void)
{
pid_t pid1;
pid_t pid2;
pid1 = fork();
pid2 = fork();
printf("pid1:%d, pid2:%d\n", pid1, pid2);
}

      ÒªÇóÈçÏ£º
      ÒÑÖª´ÓÕâ¸ö³ÌÐòÖ´Ðе½Õâ¸ö³ÌÐòµÄËùÓнø³Ì½áÊøÕâ¸öʱ¼ä¶ÎÄÚ£¬Ã»ÓÐÆäËüнø³ÌÖ´ÐС£
      1¡¢Çë˵³öÖ´ÐÐÕâ¸ö³ÌÐòºó£¬½«Ò»¹²ÔËÐм¸¸ö½ø³Ì¡£
      2¡¢Èç¹ûÆäÖÐÒ»¸ö½ø³ÌµÄÊä³ö½á¹ûÊÇ“pid1:1001, pid2:1002”£¬Ð´³öÆäËû½ø³ÌµÄÊä³ö½á¹û£¨²»¿¼Âǽø³ÌÖ´ÐÐ˳Ðò£©¡£
      Ã÷ÏÔÕâµÀÌâµÄÄ¿µÄÊÇ¿¼²ìlinuxÏÂforkµÄÖ´ÐлúÖÆ¡£ÏÂÃæÎÒÃÇͨ¹ý·ÖÎöÕâ¸öÌâÄ¿£¬Ì¸Ì¸linuxÏÂforkµÄÔËÐлúÖÆ¡£
Ô¤±¸ÖªÊ¶
      ÕâÀïÏÈÁгöһЩ±ØÒªµÄÔ¤±¸ÖªÊ¶£¬¶ÔlinuxϽø³Ì»úÖÆ±È½ÏÊìϤµÄÅóÓÑ¿ÉÒÔÂÔ¹ý¡£
      1¡¢½ø³Ì¿ÉÒÔ¿´×ö³ÌÐòµÄÒ»´ÎÖ´Ðйý³Ì¡£ÔÚlinuxÏ£¬Ã¿¸ö½ø³ÌÓÐΨһµÄPID±êʶ½ø³Ì¡£PIDÊÇÒ»¸ö´Ó1µ½32768µÄÕýÕûÊý£¬ÆäÖÐ1Ò»°ãÊÇÌØÊâ½ø³Ìinit£¬ÆäËü½ø³Ì´Ó2¿ªÊ¼ÒÀ´Î±àºÅ¡£µ±ÓÃÍê32768ºó£¬´Ó2ÖØÐ¿ªÊ¼¡£
      2¡¢linuxÖÐÓÐÒ»¸ö½Ð½ø³Ì±íµÄ½á¹¹ÓÃÀ´´æ´¢µ±Ç°ÕýÔÚÔËÐеĽø³Ì¡£¿ÉÒÔʹÓÓps aux”ÃüÁî²é¿´ËùÓÐÕýÔÚÔËÐеĽø³Ì¡£
      3¡¢½ø³ÌÔÚlinuxÖгÊÊ÷×´½á¹¹£¬initΪ¸ù½Úµã£¬ÆäËü½ø³Ì¾ùÓи¸½ø³Ì£¬Ä³½ø³ÌµÄ¸¸½ø³Ì¾ÍÊÇÆô¶¯Õâ¸ö½ø³ÌµÄ½ø³Ì£¬Õâ¸ö½ø³Ì½Ð×ö¸¸½ø³ÌµÄ×Ó½ø³Ì¡£
      4¡¢forkµÄ×÷ÓÃÊǸ´ÖÆÒ»¸öÓ뵱ǰ½ø³ÌÒ»ÑùµÄ½ø³Ì¡£Ð½ø³ÌµÄËùÓÐÊý¾Ý£¨±äÁ¿¡¢»·¾³±äÁ¿¡¢³ÌÐò¼ÆÊýÆ÷µÈ£©ÊýÖµ¶¼ºÍÔ­½ø³ÌÒ»Ö£¬µ«ÊÇÊÇÒ»¸öȫеĽø³Ì£¬²¢×÷Ϊԭ½ø³ÌµÄ×Ó½ø³Ì¡£
½âÌâµÄ¹Ø¼ü
      ÓÐÁËÉÏÃæµÄÔ¤±¸ÖªÊ¶£¬ÎÒÃÇÔÙÀ´¿´¿´½âÌâµÄ¹Ø¼ü¡£ÎÒÈÏΪ£¬½âÌâµÄ¹Ø¼ü¾ÍÊÇÒªÈÏʶµ½fork½«³ÌÐòÇгÉÁ½¶Î¡£¿´ÏÂͼ£º
      ÉÏͼ±íʾһ¸öº¬ÓÐforkµÄ³ÌÐò£¬¶øforkÓï¾ä¿ÉÒÔ¿´³É½«³ÌÐòÇÐΪA¡¢BÁ½¸ö²¿·Ö¡£È»ºóÕû¸ö³ÌÐò»áÈçÏÂÔËÐУº
      step1¡¢ÉèÓÉshellÖ±½ÓÖ´ÐгÌÐò£¬Éú³ÉÁ˽ø³ÌP¡£PÖ´ÐÐÍêPart. AµÄËùÓдúÂë¡£
 &


Ïà¹ØÎĵµ£º

linuxϰ²×°Èí¼þÏê½â

ÔÚubuntuÏ»ù±¾ÉÏÖ»Òªapt-get ¾Í¿ÉÒÔÁË£¬µ«ÊÇÓÐʱºòÒª³¢Ïʾ͵ÃÈ¥ÁíÍâÏÂÁË£¬Õâʱ¾ÍÒªÁ˽âһЩlinuxϰ²Èí¼þµÄ֪ʶÁË£¬ËùÒÔÔÚÍøÉÏÕÒÁËÕâÆªÎÄÕ£®Õª×Ô£ºCnXHacker.Net
¡¡¡¡ÔÚWindowsϰ²×°Èí¼þʱ£¬Ö»ÐèÓÃÊó±êË«»÷Èí¼þµÄ°²×°³ÌÐò£¬»òÕßÓÃZipµÈ½âѹËõÈí¼þ½âѹËõ¼´¿É°²×°¡£ÔÚLinuxϰ²×°Èí¼þ¶Ô³õѧÕßÀ´Ëµ£¬ÄѶȸßÓÚWindowsÏÂÈí¼ ......

linuxÖеÄoutb¡¢outw¡¢inb¡¢inw

ÔÚlinuxµÄÇý¶¯³ÌÐòÖУ¬¶¼»áʹÓôóÁ¿µÄoutb¡¢outw¡¢inb¡¢inwµÈµÈºêÀ´·ÃÎÊÓ²¼þ»ò¼Ä´æÆ÷¡£ÕâЩºêµÄ¶¨Òå¶¼ÔÚÏàÓ¦´¦ÀíÆ÷ÌåϵϵÄinclude\asmĿ¼ÏµÄio.hÖж¨Òå¡£×·¾¿ÏÂÈ¥£¬ÕâЩºê×îÖÕ¾ÍÊÇÒ»¸övolatile±äÁ¿µÄµÄ¸³Öµ£º
      #define __arch_putb(v,a)      (*(volatile unsi ......

linux¹Ø»úÃüÁîÏê½â

ÔÚlinuxÏÂһЩ³£ÓõĹػú/ÖØÆôÃüÁîÓÐshutdown¡¢halt¡¢reboot¡¢¼°init£¬ËüÃǶ¼¿ÉÒÔ´ïµ½ÖØÆôϵͳµÄÄ¿µÄ£¬µ«Ã¿¸öÃüÁîµÄÄÚ²¿¹¤×÷¹ý³ÌÊDz»Í¬µÄ£¬Í¨¹ý±¾ÎĵĽéÉÜ£¬Ï£ÍûÄã¿ÉÒÔ¸ü¼ÓÁé»îµÄÔËÓø÷ÖֹػúÃüÁî¡£
¡¡¡¡1.shutdown
¡¡¡¡shutdownÃüÁȫµØ½«ÏµÍ³¹Ø»ú¡£ÓÐЩÓû§»áʹÓÃÖ±½Ó¶ÏµôµçÔ´µÄ·½Ê½À´¹Ø±Õlinux£¬ÕâÊÇÊ®·ÖΣÏյġ£ÒòÎ ......

linuxÏÂÇ¿ÖÆÐÂÓû§Ê״εǽÐÞ¸ÄÃÜÂë


Èç¹ûϵͳ¹ÜÀíԱϣÍûÌí¼ÓÒ»¸öÓû§ÒÔºó£¬ÈøÃÓû§µÚÒ»´ÎµÇ¼ÒÔºó×Ô¼ºÉèÖÃ×Ô¼ºµÄÃÜÂ룬ÄÇô¾ÍҪʹµÃÓû§µÄ³õʼÃÜÂë»òÕß¿ÕÃÜÂëÁ¢¿Ì¹ýÆÚ£¬Ç¿ÖÆÓû§µÚÒ»´ÎµÇ¼ºóÁ¢¿ÌÐÞ¸ÄÃÜÂë¡£
ΪÁËÇ¿ÖÆÓû§µÚÒ»´ÎµÇ¼ʱÉèÖÃÒ»¸öÐÂÃÜÂ룬Çë°´ÕÕÏÂÃæµÄָʾÀ´×ö£¬µ«ÊÇÐèÒªµÄ×¢ÒâµÄʱºòÈç¹ûÓû§ÊÇͨ¹ýSSHÔ¶³ÌµÇ¼½øÈ¥µÄ£¬ÄÇô¸Ã·½·¨ÊDz»ÄÜÉúЧµÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ