unix - fork系统调用的应用

标签 unix fork

fork用于创建从其调用的流程的副本。
通常,此后是对exec函数家族的调用。
除此以外,还有叉的用法吗?
我能想到一个。使用管道功能进行IPC。

最佳答案

是的当然。开始一个过程,进行一些数据初始化,然后产生多个工作程序是很常见的。它们在地址空间中都有相同的数据,即写时复制。

另一个常见的事情是让主进程为传入的每个连接监听TCP套接字和fork()。这样,在并行处理现有连接的同时,可以立即处理新连接。

我认为您忘记了在fork()之后,两个进程都可以访问fork()之前进程中存在的所有数据。

关于unix - fork系统调用的应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1345320/

相关文章:

linux - 如何使用awk将同一列的2行合并为1行

bash - 从输出中删除颜色

Unix Shell 无法识别 mySQL 命令

linux - Unix 和 Linux 文件并发读/写处理

Linux平台上C语言收割时子进程丢失

c - Fork(),等待所有子进程完成 vs 等待一个子进程完成

c - 如何正确使用 socket close for fork?

email - 为什么 postfix 中的 smtpd_recipient_limit 和其他电子邮件相关选项不起作用?

multithreading - Perl: fork 和填充父数组

c - 为什么我使用 fork() 的 valgrind 得到不同的输出