linux - 程序到进程的转换

标签 linux process operating-system

我正在练习用c语言进行Linux编程。但我对程序如何成为流程不太好奇,程序成为流程的主要步骤是什么?

最佳答案

这取决于操作系统。我知道有两种模型。

  1. 该进程在用户登录系统时创建。系统设置一个在进程后台运行的命令解释器。告诉命令解释器运行一个程序。这将加载程序并开始执行。当程序退出时,控制权返回到命令解释器,同一进程可以运行另一个程序。

  2. 一个进程始终是另一个进程的克隆(unix 方法)。通常起点是一个外壳。您告诉 shell 运行一个程序。 shell 复制自身,创建一个新进程。然后它会加载您想要运行的程序,从而替换 shell。当该程序完成时,进程就会终止。

关于linux - 程序到进程的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34000931/

相关文章:

linux - Linux 上的基准测试程序

python - 为什么使用 apt.Cache 而不是 apt.cache.Cache() 创建对象

.net - Nuget 依赖项 - 如何在 Linux 上显示 NuGet 的 package.config 依赖项树

C#:为什么运行 Java.exe 的进程运行良好,但窗口没有返回任何输出?

php gethostbyname() 函数在 Linux 中不起作用

.net - 为什么我的控制台应用程序在使用 Process.Start() 启动时没有图标?

ios - iOS 应用程序的处理流程

c++ - 用于运行高可靠性航天软件的特定 Linux 发行版?

operating-system - 电源故障中断究竟发生了什么?

macos - 以编程方式启动 Mac 的系统偏好设置屏幕 -> 声音