在查看 python 文档时,multiprocessing.terminate()
我遇到了以下内容:
Terminate() 如果在相关进程正在使用管道或队列时使用此方法,则管道或队列可能会损坏并且可能无法被其他进程使用。类似地,如果进程获得了锁或信号量等,那么终止它很可能导致其他进程死锁。
这基本上说,如果您终止使用队列、管道或类似的进程,您将面临结构损坏的风险。
我对此有几个问题,
- 如果发生损坏,尝试从 PIPE、队列或类似物中检索数据的另一个进程会发生什么情况?
- 进程如何检查是否存在损坏?
- 如果您知道另一个进程已终止,是否可以以任何方式解决死锁?
我了解您应该始终尝试不使用终止,但这是针对您无法执行任何其他操作的情况