【发布时间】:2018-05-29 11:38:19
【问题描述】:
在 linux 中,我使用 subprocess.Popen 创建一个子进程,并为 SIGCHLD 定义一个信号处理程序。当子进程死亡时,父进程收到 SIGCHLD 信号,处理程序将做某事。
但是在 Windows 上没有 SIGCHLD 信号,我怎么知道子进程何时退出?
【问题讨论】:
-
你可以使用
tasklist或者通过子进程通信来学习。 -
@dsgdfg 子进程可能需要很长时间才能退出,所以我需要一个非阻塞的方法。如果使用communicate(),我的主进程将被阻塞...
-
No Method - Let me go 因为 Windows 和 Linux 内核的工作方式不同,它不会自动创建 Windows 应用程序树(在第三方软件中)。为此,您必须使用 API 或其他应用程序。你为什么要关注你已经独自一人的应用程序?写入另一个线程并在最后更改一个变量。
标签: python process synchronization subprocess