linux下的僵尸进程处理例子,同时也演示了管道通信的弊端
/************************************************************************* > File Name: ft.c > Author: zhoulin > Mail: 715169549@qq.com > Created Time: Fri Mar 25 15:21:00 2016 ************************************************************************/ #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <signal.h> void deal(int sig){ fprintf(stdout," *******cur %d exit******* ",getpid()); //Ctrl+C的发送信号的处理(SIGINT信号) exit(1); } int main(void) { pid_t f; int fd[2]; //管道通信,ffd[0]用于读,fd[1]用于写 if(pipe(fd) <0){ perror("pipe"); return -1; } f= fork(); if(f < 0){ perror("fork"); return -1; } if(f > 0){ char buf[32] = {'