假设当您开始执行此操作时父级处于活动状态,您可以使用psutil检查它在繁忙循环中是否仍然处于活动状态:
import psutil, os, time
me = psutil.Process(os.getpid())
while 1:
if me.parent() is not None:
# still alive
time.sleep(0.1)
continue
else:
print("my parent is gone")
break
Run Code Online (Sandbox Code Playgroud)
不是很好但是...
您可能会在进程的早期就读取父进程的 ID,然后进行检查,但这当然很容易出现竞争条件。生成的父进程可能会立即死亡,甚至在您的进程执行其第一条指令之前。
除非你有办法验证给定的 PID 是否引用“预期”父级,否则我认为很难可靠地做到这一点。
| 归档时间: |
|
| 查看次数: |
4632 次 |
| 最近记录: |