用C语言演示fork()和pipe()在接下来的教程中,我们将了解在C编程语言中fork()和pipe()的实现。 让我们开始吧。 fork ()
管()
用C语言演示fork()和pipe():使用C程序创建两个进程P1和P2。P1收到一个字符串后,将它交给P2。P2不使用字符串函数,而是将接收到的字符串连接到另一个字符串,并将结果发送回P1进行打印。 例子: 解释: 我们使用fork来生成一个子进程()。Fork()返回如下信息:0 fail to create child (new) process =0 for child process >0,即父进程的子进程ID。当>0时父进程将运行。 可以使用pipe()函数将信息从一个进程发送到另一个进程。因为pipe()是单向的,所以可以设置两个管道(每个方向一个)来提供进程之间的双向通信。 父进程内部:首先关闭第一个管道的读取端(fd1[0]),然后通过管道的写入端(fd1[1])写入字符串。父进程将等待子进程完成。在子进程结束后,父进程将关闭第二个管道的写入端(fd2[1]),并通过管道的读取端(fd2[0])读取字符串。 在子进程中,子进程通过关闭管道的写端(fd1[1])读取父进程传递的第一个字符串,在读取后连接两个字符串,然后在退出前通过fd2管道将字符串发送给父进程。
下一个话题
C语言中使用Banker算法防止死锁
|