为什么我们使用fork()或exec()系统调用创建新过程



当我们在类中教授使用 fork()>或 exec() System Call。P>

假设我们使用fork()创建了一个子过程,这个新创建的过程的目的是什么?为什么我们创建了该过程?

我正在询问我们必须创建一个新过程的应用程序。

创建新过程的一些示例用法:

  • 在Shell环境中,您运行的每个命令(例如ls)都是其自己的二进制文件。主外壳程序将fork(),然后执行相关实用程序。
  • Web服务器(例如Apache HTTPD服务器)将使用fork()创建一个新过程来处理单独的请求。
  • 一些Web浏览器(例如Chrome)为每个打开的选项卡创建新的过程,以利用单独的过程之间的隔离以提高安全性。
  • 桌面环境每次通过GUI菜单打开应用程序(例如Windows中的开始菜单或MacOS中的码头)
  • 构建构建叉子和执行编译器之类的系统在构建代码时作为单独的流程。

还有很多其他,但是这些是何时可能需要在程序中使用多个进程的示例。

最新更新