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

linux C forkº¯Êý

´´½¨Ð½ø³Ì£ºforkº¯Êý
1.1.1. forkº¯Êý¸Éʲô£¿
     #include <sys/types.h>
     #include <unistd.h>
     pid_t fork(void);
      ‘fork()’º¯ÊýÓÃÓÚ´ÓÒÑ´æÔÚ½ø³ÌÖд´½¨Ò»¸öнø³Ì¡£Ð½ø³Ì³ÆÎª×Ó½ø³Ì£¬¶øÔ­½ø³Ì³ÆÎª¸¸½ø³Ì¡£Äã¿ÉÒÔͨ¹ý¼ì²é‘fork()’º¯ÊýµÄ·µ»ØÖµÖªµÀÄĸöÊǸ¸½ø³Ì£¬ÄĸöÊÇ×Ó½ø³Ì¡£¸¸½ø³ÌµÃµ½µÄ·µ»ØÖµÊÇ×Ó½ø³ÌµÄ½ø³ÌºÅ£¬¶ø×Ó½ø³ÌÔò·µ»Ø0¡£ÒÔÏÂÕâ¸ö·¶Àý³ÌÐò˵Ã÷ËüµÄ»ù±¾¹¦ÄÜ£º
     pid_t pid;
     switch (pid = fork())
     {
     case -1:
         /* ÕâÀïpidΪ-1£¬forkº¯Êýʧ°Ü */
         /* һЩ¿ÉÄܵÄÔ­ÒòÊÇ */
         /* ½ø³ÌÊý»òÐéÄâÄÚ´æÓþ¡ */
         perror("The fork failed!");
         break;
     case 0:
         /* pidΪ0£¬×Ó½ø³Ì */
         /* ÕâÀÎÒÃÇÊǺ¢×Ó£¬Òª×öʲô£¿ */
         /* ... */
         /* µ«ÊÇ×öÍêºó, ÎÒÃÇÐèÒª×öÀàËÆÏÂÃæ£º */
         _exit(0);
     default:
         /* pid´óÓÚ0£¬Îª¸¸½ø³ÌµÃµ½µÄ×Ó½ø³ÌºÅ */
         printf("Child's pid is %d\n",pid);
     }
      µ±È»£¬ÓÐÈË¿ÉÒÔÓÑif() ... else ...’Óï¾äÈ¡´ú‘switch()’Óï¾ä£¬µ«ÊÇÉÏÃæµÄÐÎʽÊÇÒ»¸öÓÐÓõĹßÓ÷½·¨¡£
ÖªµÀ×Ó½ø³Ì×Ô¸¸½ø³Ì¼Ì³Ðʲô»òδ¼Ì³Ðʲô½«ÓÐÖúÓÚÎÒÃÇ¡£ÏÂÃæÕâ¸öÃûµ¥»áÒòΪ²»Í¬UnixµÄʵÏÖ¶ø·¢Éú±ä»¯£¬ËùÒÔ»òÐí׼ȷÐÔÓÐÁËË®·Ý¡£Çë×¢Òâ×Ó½ø³ÌµÃµ½µÄÊÇÕâЩ¶«Î÷µÄ *¿½±´*£¬²»ÊÇËüÃDZ¾Éí¡£
ÓÉ×Ó½ø³Ì×Ô¸¸½ø³Ì¼Ì³Ðµ½£º
½


Ïà¹ØÎĵµ£º

Linux °²×°ÖÐÎİü

Linux °²×°ÖÐÎİü
Ê×ÏÈ£¬°²×°ÖÐÎİü£º
#yum groupinstall chinese-support
Æä´Î£¬ÐÞ¸ÄÒ»ÏÂ×Ö·û±àÂëµÄÅäÖá£
# vi /etc/sysconfig/i18n
Ð޸ĺóÄÚÈÝÈçÏ£º  
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
×îºóÖØÆô·þ ......

һЩ³£ÓõÄLinuxÃüÁî

¡¡¡¡×ܽáһЩ³£ÓõÄLinuxÃüÁî¡£
Ò»¡¢LinuxÄں˺Ͱ汾²éѯÃüÁî
¡¡¡¡ÃüÁ uname -a
¡¡¡¡×÷Ó㺠²é¿´ÏµÍ³Äں˰汾ºÅ¼°ÏµÍ³Ãû³Æ¡£
¡¡¡¡ÃüÁ cat /proc/version
¡¡¡¡×÷Ó㺠²é¿´Ä¿Â¼"/proc"ÏÂversionµÄÐÅÏ¢£¬Ò²¿ÉÒԵõ½µ±Ç°ÏµÍ³µÄÄں˰汾ºÅ¼°ÏµÍ³Ãû³Æ¡£
¡¡¡¡ÃüÁlsb_release -a
¡¡¡¡×÷Ó㺵Ǽµ½·þÎñÆ÷Ö ......

linux¸ùÎļþϵͳÓëinitrd£¨×ª£©


1
¸ùÎļþϵͳ
¼òµ¥À´Ëµ£¬£¨¸ùÎļþϵͳ£©¾ÍÊÇϵͳµÚÒ»¸ö
mount
µÄÎļþϵͳ

Filesystem
Handling
Like
every  
traditional  
Unix  
system,  

Linux  
makes  
use  
of  

a  
system ......

Linuxϵͳµ÷Óûã×Ü

¶ÔÓÚ²»Í¬µÄLinuxÄں˰汾£¬´ËÁбí¿ÉÄܲ»Í¬£¬»ùÓÚºóÏò¼æÈÝÐÔ£¬Ëæ×ÅLinuxÄں˰汾ºÅµÄÔö¼Ó£¬´ËÁбí¿ÉÄÜ»á±ä³¤¡£´ËÁбíΪ2.6.24-16Äں˰汾ÓÚ/usr/include/asm/unistd_32.hÖÐÁгöµÄ324¸öϵͳµ÷Óúš£
#define __NR_restart_syscall 0
#define __NR_exit 1
#define __NR_fork 2
#define __NR_read 3
#define ......

һЩÒ×ÍüµÄlinux֪ʶµã£¨Ò»£©

 0, ¸´Ï°ÒѾ­Ñ§¹ýµÄ Linux ֪ʶ£¬ÕûÀíÁËЩÈÝÒ×ÍüµôÁ˵ķÅÕâ
 1, ÃüÁîÐÐÖÐÒ»´Î¿ÉÒÔÊäÈë¶à¸öÃüÁÖмäÒԷֺźŸô¿ª
 2, ÃüÁî¹ý³¤¿ÉÒÔÓÃ'\' £¨backslash £©¶Ï¿ªÐ´µ½¶à¸öÎïÀíÐÐÉÏ
 3, I/O ÖØ¶¨ÏòµÄÊéд˳ÐòÊÇÖØÒªµÄ£¬ÏµÍ³´Ó×óÏòÓÒɨÃèÃüÁîÐÐ
 4, ¹ÜµÀÊÇÒ»ÖÖÌØÊâµÄI/O ÖØ¶¨Ïò
 5, tee Èýͨ¹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ