永发信息网

linux下的一对多管道程序编写

答案:2  悬赏:20  手机版
解决时间 2021-02-06 23:49
  • 提问者网友:杀手的诗
  • 2021-02-06 16:01
我需要做一个记名管道程序 一(父)对三(子)父方检测三个子方接收端等三秒 发送SIGINT信号给三个子方 最终显示信息“see you" 求各位帮个忙 我知道有点麻烦但是本人实在是不懂了 舔着脸跪求高手帮忙 万分感谢!!!!
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-02-06 16:12
先学如何编写父子进程。
再学如何使用管道在父子进程之间通信。
最后学习如何发送信号。
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-02-06 16:57
一个利用pipe,进行父子进程间通信的小例子 #include #include #include #include int main(void) { int fds[2]; pid_t pid; if(pipe(fds) == -1) { perror("pipe error"); exit(1); } pid=fork(); if(pid == -1) { perror("fork error"); exit(1); } if(pid == 0)//parent { char buf[1024]; int n; close(fds[1]); n = read(fds[0], buf, 1024);//从管道读端读出数据到buf write(stdout_fileno, "child:",6); write(stdout_fileno, buf, n);//将读到的数据打印到终端 } else//child { close(fds[0]); write(fds[1], "hello world\n", 12);//向管道写端写入数据“hello world\n” wait(null); } return 0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯