www.pudn.com > pthread_examples.rar > pipewrite.c
#include#include main() { int pipe_fd[2]; pid_t pid; char r_buf[4]; char* w_buf; int writenum; int cmd; memset(r_buf, 0, sizeof(r_buf)); if(pipe(pipe_fd)<0) { printf("pipe create error\n"); return -1; } if((pid=fork()) == 0) /*进入父进程*/ { //sleep(100); printf("parent is closed!\n"); //close(pipe_fd[0]); close(pipe_fd[1]); sleep(10); exit(0); } else if(pid > 0) { sleep(1); //等待子进程完成关闭读端的操作 //close(pipe_fd[0]);//read w_buf = "111"; if((writenum = write(pipe_fd[1], w_buf, 4)) == -1) { printf("write to pipe error\n"); } else { printf("the bytes write to pipe is %d \n", writenum); } printf("the bytes write to pipe is %d \n", writenum); close(pipe_fd[1]); while(1) { printf("haha, I am living!\n"); } printf("children is closed!\n"); } }