【发布时间】:2011-04-13 01:27:02
【问题描述】:
我怎么知道我的子进程在运行时是否挂起?
【问题讨论】:
标签: python process subprocess parent-child
我怎么知道我的子进程在运行时是否挂起?
【问题讨论】:
标签: python process subprocess parent-child
我猜,你是在问,如何发现子进程在运行时是否挂起。你不能轻易说出来。进程可能正在执行长时间运行的操作。上下文对于了解进程何时挂起很重要。
如果您希望某个进程响应用户输入并且长时间没有响应,那么我们认为它已挂起。进程正在运行可能正在等待一些永远不会发生的事情。 “Hung Process”是人类的说法,即程序已经走到了死胡同,将不再有用。
你可以让一个程序一个接一个地计算素数,并且可以运行无数个,不能称为挂起的进程。
【讨论】:
那么,您如何区分卡住的流程和需要比平时更长的时间才能完成的流程?简短的回答是:不,您无法检测到您的子进程是否被卡住。
我想说,为了能够检测到这一点,您需要与进程进行某种持续的通信(例如查看日志文件、IPC 或类似文件)。根据这种交流,您可能能够判断进程何时以及是否卡住。
【讨论】: