在C中创建一个新的,已停止的进程

时间:2016-04-05 00:04:31

标签: c unix system-calls

我希望通过fork()和exec()之类的东西创建一个新进程,但是立即停止它(它以SIGSTOP的状态开始)。我希望系统调用能够执行此操作或其他操作。我看了,真的找不到任何东西。 fork()的问题 - > exec() - > SIGSTOP是子进程在收到SIGSTOP(竞争条件)之前可能运行一段时间。谢谢!

1 个答案:

答案 0 :(得分:2)

(1)在linux下,您可以使用clone系统调用CLONE_STOPPED选项。

(2)对于没有这个[但可能有替代]的其他unix系统,你可以让孩子通过{{发送本身 SIGSTOPkill

之后立即<}>系统调用

对于(2),您可能需要进行更多设置,可能需要在父设备中。