gpt4 book ai didi

c - pthread fork 和 exec

转载 作者:太空宇宙 更新时间:2023-11-04 03:53:51 27 4
gpt4 key购买 nike

我正在使用 pthread_create() 创建一个线程,并在该线程内使用 fork+execlp 加载一个新脚本。

但问题是有时 fork() 调用没问题,但它没有执行 execlp 调用。所以我有几个父名称正在运行的进程,这就是一些脚本被遗漏的原因。

例如:如果从我的主程序应该执行 4 个脚本。

我创建了 4 个线程,并在其中使用 fork+execlp 来执行脚本。

但是当我看到它正在运行的脚本是什么时,它只显示了 3 个脚本和一个带有父名称的进程。

你能告诉我处理这种情况的最佳方法是什么吗?

最佳答案

听起来 execlp() 调用可能失败了。如果成功,它永远不会返回,因此 execlp() 的任何返回都表示失败。在调用之后,您应该立即调用 perror("execlp") 来显示错误,然后调用 _exit(1); 让新的子进程退出。

关于c - pthread fork 和 exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749457/

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