Python 程序可以找到它之前创建的孤立进程吗?

问题描述 投票:0回答:1

我正在使用

popen()
在 Python 中创建可能长时间运行的进程。 如果父程序死掉然后重新启动,有没有办法检索之前创建的仍在运行的进程? 我可能必须使用
start_new_session=True
,但我现在不这样做。

本质上,我想获得一个指向子进程的

popen
对象的重新构造实例。 我怀疑这是不可能的,因为序列化
popen()
对象似乎是不可能的。

python popen
1个回答
0
投票

首先,如果与管道连接的进程之一死亡,则对该管道的任何读/写操作都将导致

SIGPIPE
——默认情况下会终止该进程。因此,如果父进程崩溃,您的孤儿进程也很可能立即死亡。


根据 我可以与 linux 上的另一个进程共享文件描述符还是它们是该进程的本地进程?,只能通过 UNIX 域套接字在不相关的进程之间共享文件描述符,并且这需要两个进程的积极参与.

正如其他人指出的那样,您也无法

wait
完成该过程。


根据您想要实现的目标(例如,这是一个工作进程,您不想失去其进度),更好的方法是例如在某些点保存进度(无论是由父项还是子项)并添加从保存的状态重新启动的功能。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.