如何在后台运行流程?

时间:2015-06-27 09:25:19

标签: c linux daemon background-process system-calls

我已经完成fork,然后是exec,但我不知道如何在后台启动它。

我应该在exec之后使用参数吗?如果是这样,那是什么?

1 个答案:

答案 0 :(得分:2)

如果您只想使用daemon()来处理流程。

如果你想要产生一个过程然后背景本身第一次使用fork()并在第一个孩子内部再次呼叫fork(),让第二个孩子打电话exec*()以使该过程成为背景。让第一个孩子的初始父母wait()

当第二个孩子的父母(流程fork() ed 1st)去世时,exec*() ed过程将由init收集。

注意:上面的模式有时被称为“ double -forking ”。另见:Why fork() twice(及其中的链接)

另一组有趣的答案是:Linux: Difference between forking twice and daemon(ise)

相关问题