Linux启动应用程序的方式和方法是什么?

时间:2011-04-06 01:13:21

标签: linux

我对点击图标和让init创建新流程之间的内容感兴趣。我知道bash可以像孩子一样启动一个应用程序,但是Bash只发出一个fork命令吗? X Windows系统是否也这样做? Gnome面板启动器是否只是将应用程序名称转发给BASH?什么得到了“启动过程的命令行”的信息?

1 个答案:

答案 0 :(得分:2)

在Linux中,您使用fork()创建新流程,因此每个对产生流程感兴趣的人都会走这条路。

BASH使用fork(),然后使用其他一些系统调用(我猜是dup2()pipe()等等)来处理输入和输出配置。新进程。它还负责传递参数和环境变量。然后,最终exec()将执行交给第二个程序。

但是,您不需要使用BASH来生成进程。任何进程都可以fork()exec():您可以在少于15行的C代码中自己创建一个程序启动器。