python - 如何找到孤儿进程的pid

标签 python linux process

如何在父进程死后找到子进程pid。 我有创建子进程的程序,该子进程在它(父进程)终止后继续运行。

即,

我从 python 脚本 (PID = 2) 运行一个程序。

脚本调用程序P (PID = 3, PPID = 2)

P 调用 fork(),现在我有另一个名为 P` 的 P 实例(PID = 4 和 PPID = 3)。

P终止后P`PID为4,PPID为1。

假设我有P(3)的PID,如何找到子P`的PID

谢谢。

最佳答案

当中间进程终止时,信息会丢失。因此,在您的情况下,无法找到这一点。

当然,您可以发明自己的基础架构来在 fork 时存储此信息。中间进程(您的示例中的 PID 3)当然可以保存它创建的子 PID 的信息(例如,在文件中或通过管道或类似方式向父进程(您的示例中的 PID 1)报告)。

关于python - 如何找到孤儿进程的pid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19361740/

相关文章:

linux - linux调度进程还是线程?

docker - 在 docker 容器内运行时, `strace -f` 的工作方式是否不同?

python - 如何阻止用户仅输入 "()"并在此之后仅输出 "()"

linux - 在 Valgrind/DrMemory 中记录程序状态然后恢复是否可行?

c - 如果我在同一个程序中创建很多管道会有什么后果吗

c - 我无法弄清楚我的代码中存在什么错误 - C 中的段错误核心转储错误

python运行2个进程

python - 从另一列填充一个 DataFrame 列,但每第 n 行值

python multiprocessing - select-like 正在运行的进程以查看哪些已经完成

python - 我可以精确控制cythonize生成的.c文件的位置吗?