gpt4 book ai didi

创建一个没有 fork() 的子进程

转载 作者:行者123 更新时间:2023-12-05 00:11:14 25 4
gpt4 key购买 nike

有没有办法在没有 fork() 的情况下启动子进程, 使用 execvp()只?

最佳答案

对你的问题的迂腐回答是否定的。创建新进程的唯一系统调用是 fork .系统调用底层execvp (称为 execve )将新程序加载到现有进程中,这是另一回事。

除了 fork 之外,某些种类的 Unix 还具有其他系统调用。 (例如 vforkrforkclone )创建一个新流程,但它们只是 fork 上的微小变化本身,并且它们都不是 POSIX 标准的一部分,该标准指定了您可以依赖任何自称为 Unix 的功能。

稍微有用的答案是您可能正在寻找 posix_spawn ,这是一个库例程包装 forkexec到单个操作中,但我发现正确使用它比编写我自己的更麻烦 fork + exec子程序。天啊。

关于创建一个没有 fork() 的子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54152633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com