gpt4 book ai didi

c++ - 如何检查一个进程是否正在运行或在 linux 中从我的 main() 中的 pid 在 linux 中终止

转载 作者:太空狗 更新时间:2023-10-29 11:30:41 27 4
gpt4 key购买 nike

我在 main 中调用了几个进程,我可以获得这些进程的 pid。现在我想等到所有这些进程都完成,然后从我的父进程中清除共享内存块。此外,如果任何进程未完成并出现段错误,我想终止该进程。那么如何从我的父进程代码中的进程 pid 中检查进程是否已完成而没有任何错误,或者它由于运行时错误或任何其他原因而崩溃,以便我可以终止该进程。

另外,如果我想查看不是子进程但其 pid 已知的其他进程的状态怎么办。

感谢代码(我不是在寻找脚本而是代码)。

最佳答案

查看waitpid(2)使用 WNOHANG 选项。使用手册页中的宏检查进程的“命运”,尤其是 WIFSIGNALED()

此外,发生段错误的进程已经死了(除非 SIGSEGV 由进程专门处理,这通常不是一个好主意。)

关于c++ - 如何检查一个进程是否正在运行或在 linux 中从我的 main() 中的 pid 在 linux 中终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2997810/

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