Python子进程如何判断是否挂起?
我怎么知道我的子进程在运行时是不是卡住了?
2 个回答
1
我想你是在问,怎么判断一个子进程在运行时是否卡住了。其实这并不好判断。一个进程可能在进行一个很长的操作。理解进程卡住的情况需要考虑上下文。
如果你期待一个进程能对用户输入做出反应,但它长时间没有反应,那我们就认为它卡住了。这个进程可能在运行,但实际上是在等一些永远不会发生的事情。“卡住的进程”就是人们用来形容一个程序到了死胡同,再也没有用处的说法。
比如,你可能有一个程序在不停地计算质数,这个过程可能会持续很久,但它并不能算是卡住的进程。
2
那么,你怎么区分一个卡住的程序和一个运行时间比平常长的程序呢?简单来说,就是:不,你无法判断你的子程序是否卡住了。
我觉得,要想判断这个问题,你需要和这个程序保持某种持续的联系(比如查看日志文件、使用进程间通信等)。通过这种联系,你可能会知道程序什么时候卡住了,或者是否真的卡住了。