91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 35KB
    文件類型: .doc
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-14
  • 語言: 其他
  • 標簽: 進程??

資源簡介

(1)進程的軟中斷通信 #include #include #include #include int wait_flag; void stop(); main( ) { int pid1, pid2; // 定義兩個進程號變量 signal(2,stop); // 或者 signal (14,stop); while((pid1 = fork( )) == -1); // 若創建子進程1不成功,則空循環 if(pid1 > 0) { // 子進程創建成功,pid1為進程號 while((pid2 = fork( )) == -1); // 創建子進程2 if(pid2 > 0) { wait_flag = 1; //sleep(1); // 父進程等待5秒 kill(pid1,SIGUSR1); // 殺死進程1 kill(pid2,SIGUSR2); // 殺死進程2 wait(0); wait(0); printf("\n Parent process is killed !!\n"); exit(0); // 父進程結束 } else { wait_flag = 1; signal(SIGUSR2,stop); // 等待進程2被殺死的中斷號17 printf("\n Child process 2 is killed by parent !!\n"); exit(0); } } else { wait_flag = 1; signal(SIGUSR1,stop); // 等待進程1被殺死的中斷號16 printf("\n Child process 1 is killed by parent !!\n"); exit(0); } } void stop() { wait_flag = 0; } (2)進程的管道通信 #include #include #include int pid1,pid2; // 定義兩個進程變量 main( ) { int fd[2]; char OutPipe[100],InPipe[100]; // 定義兩個字符數組 pipe(fd); // 創建管道 while((pid1 = fork( )) == -1); // 如果進程1創建不成功,則空循環 if(pid1 == 0) { lockf(fd[1],1,0); // 鎖定管道 sprintf(OutPipe,"\n Child process 1 is sending message!\n"); write(fd[1],OutPipe,50); // 向管道寫入數據 sleep(5); // 等待讀進程讀出數據 lockf(fd[1],0,0); // 解除管道的鎖定 exit(0); // 結束進程1 } else { while((pid2 = fork()) == -1); // 若進程2創建不成功,則空循環 if(pid2 == 0) { lockf(fd[1],1,0); sprintf(OutPipe,"\n Child process 2 is sending message!\n"); write(fd[1],OutPipe,50); sleep(5); lockf(fd[1],0,0); exit(0); } else { wait(0);

資源截圖

代碼片段和文件信息

評論

共有 條評論