实验5 Linux环境下的C语言编程-2014 - 百度文库

loading ·ÖÏí 2026-9-4 ÏÂÔØÎĵµ

ʵÑéÎå 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 #include int glob=3; Thread:

create

thread,

pid

is

%d.\\n\

Thread:

my

pid

is

if(pid==0){ %d.\\n\

error\\n\

i=2; pid;

main(void)

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 #include main() {

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ϵͳÖнø³ÌͨÐŵĻù±¾Ô­Àí¡£


实验5 Linux环境下的C语言编程-2014 - 百度文库.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ
ËÑË÷¸ü¶à¹ØÓÚ£º 实验5 Linux环境下的C语言编程-2014 - µÄÎĵµ
Ïà¹ØÍÆ¼ö
Ïà¹ØÔĶÁ