父进程的死亡是否有在Python子进程的路要走,如果父进程已经死亡检测?子进程检测在Python
7
A
回答
1
你可能会逃脱读你的父进程的ID在你的过程中非常早,然后检查,但当然是容易出现竞争情况。这并产卵的父母可能已经当场死亡,甚至在你的过程中得到了执行其第一条指令。
除非你有验证的方式,如果给定PID指的是“预期”的父母,我觉得这很难做得可靠。
3
如果您的Python进程在Linux下运行,并且系统调用prctl()
已公开,则可以使用答案here。
这可能会导致当父进程死亡的信号被发送到孩子。
1
我知道的唯一可靠的方法是专门为此创建一个管道。孩子将不得不反复尝试从管道读取数据,最好以非阻塞的方式读取数据,或使用select。当管道不存在(因为父母的死亡大概)了它会得到一个错误。
1
假设父活着的时候你开始这样做,你可以检查它是否仍然在一个繁忙的环路这样活着,通过使用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"
不怎么样,但...
相关问题
- 1. 在fork中检测子进程创建()
- 2. 用Python子进程
- 3. Python子进程readlines()?
- 4. Python和子进程
- 5. Python子进程Grep
- 6. 如何检测正在运行的进程使用python
- 7. 检测子进程期望在Ruby中输入
- 8. C#检测进程退出
- 9. 检测创建进程
- 10. 检测进程创建
- 11. Python - 检测启动过程
- 12. 如何检测Python子进程中的超时是否已经达到?
- 13. 测量CPU和子进程
- 14. 在.NET中检测进程崩溃
- 15. python子进程使用进口子进程
- 16. 的Python在进程列表中检测到一个python脚本的名称
- 17. hma的python子进程
- 18. Python:与子进程回显
- 19. Python的子进程pkill的
- 20. Python + Windows:子进程和bufsize
- 21. python子进程调用
- 22. kinit使用Python子进程
- 23. 并行Python子进程
- 24. Python - 与子进程通信
- 25. Python的子进程模块
- 26. python处理子进程
- 27. Python与子进程交互
- 28. Python子进程返回-11
- 29. Python与子进程通信
- 30. 使用python,numpy进行圆圈检测?