ʵÑéÎå Linux»·¾³ÏµÄCÓïÑÔ±à³Ì
°à¼¶£º¼Æ±¾112 ÐÕÃû£ºÉÛÐ÷±¦ ѧºÅ£º201106080226
Èý¡¢ÊµÑéÄÚÈÝ
1¡¢ ±àдһ¶ÎCÓïÑÔ³ÌÐòʹÆäÍê³É£º¸¸½ø³Ì´´½¨Á½¸ö×Ó½ø³Ì£¬Ã¿¸ö½ø³Ì¶¼ÔÚÆÁÄ»ÉÏÏÔʾ×Ô
¼ºµÄ½ø³ÌIDºÅ¡£ #include #include int { int pid_t while(i--){ if((pid=fork())<0){ err_sys(\ exit(1); } else printf(\ break; }else{ printf(\ } } exit(0); }
ÔËÐнá¹ûʾÀý£º # ./fork1 this is child1:16602 this is child2:16603 this is parent:16601 2¡¢ ÉÏ»úµ÷ÊÔÏÂÃæµÄ³ÌÐò£¬¹Û²ìÔËÐнá¹û£¬·ÖÎöÔÒò¡£
#include
create
thread,
pid
is
%d.\\n\
Thread:
my
pid
is
if(pid==0){ %d.\\n\
error\\n\
i=2; pid;
int main() { pid_t pid; int loc=3; printf(\ if ((pid=fork()) < 0) { printf(\ exit(0); } else if (pid == 0) { glob++; loc--; printf(\ else { printf(\ exit(0); } return 0; } 3¡¢ ÀûÓÃÐźÅʵÏÖ¸¸×Ó½ø³ÌµÄͨÐÅ¡£×Ó½ø³ÌÏò¸¸½ø³Ì·¢ËÍÐźţ¬¸¸½ø³Ì½ÓÊÕÐźźóÏÔʾ¸ÃÐźŵÄÖµºÍ¸¸½ø³ÌµÄpid¡£ #include
int pid,status = 1; void func();
signal(SIGUSR1,func); while ((pid=fork( ))==-1);
if (pid) { printf(\ printf(\ kill(pid,SIGUSR1); pid = wait(&status);
printf(\
}
else { sleep (2); printf(\ printf(\£ºsignal is received.\\n\
execvp (\ printf(\exit(2); }
printf (\}
void func () {
system(\}
ËÄ£®ÊÔÑé×ܽá
д³öÏêϸµÄÊÔÑé¹ý³Ì¼°ÆäÊÔÑé½á¹û¡£
ѧ»áÓÃϵͳµ÷ÓúͿ⺯Êý½øÐбà³Ì£¬¼ÓÉî¶Ô½ø³Ì¸ÅÄîµÄÀí½â£¬Ã÷È·½ø³ÌºÍ³ÌÐòµÄÇø±ð¡£½øÒ»²½ÈÏʶ²¢·¢Ö´ÐеÄʵÖÊ¡£·ÖÎö½ø³Ì¾ºÕù×ÊÔ´ÏÖÏó£¬Ñ§Ï°½â¾ö½ø³Ì»¥³âµÄ·½·¨¡£Á˽âLinuxϵͳÖнø³ÌͨÐŵĻù±¾ÔÀí¡£
Ïà¹ØÍÆ¼ö£º