2017年4月14日
摘要: int mkfifo(const char *pathname, mode_t mode); int mknod(const char *pathname, mode_t mode, dev_t dev); 管道的一个不足之处是没有名字,因此,只能用于具有亲缘关系的进程间通信。 在有名管道(name 阅读全文
posted @ 2017-04-14 17:16 邶风 阅读(10331) 评论(0) 推荐(0) 编辑
摘要: 管道的一种常见用法:在父进程创建子进程后向子进程传递参数。例如,一个应用软件有一个主进程和很多个不同子进程。 主进程创建子进程后,在子进程调用exec函数执行一个新程序前,通过管道给即将执行的程序传递命令行参数,子进程根据传来 的参数进行初始化或其他操作。 大致思路: The child can t 阅读全文
posted @ 2017-04-14 15:53 邶风 阅读(1501) 评论(0) 推荐(0) 编辑
摘要: 前面的例子中,子进程可以直接共享父进程的文件描述符。但是如果子进程调用exec函数执行另一个应用程序时,就不能再共享了。 这种情况下可以将子进程中的文件描述符重定向到标准输入,当新执行的程序从标准输入获取数据时实际上是从父进程中获取输入数据。 dup和dup2函数提供了复制文件描述符的功能。 int 阅读全文
posted @ 2017-04-14 11:09 邶风 阅读(2109) 评论(0) 推荐(0) 编辑