我在Python中有一个进程ID。我知道我可以用os.kill()杀死它,但是如何检查它是否还活着?有内置函数还是必须去shell?如何在Linux上检查进程在Python中是否存在?
3
A
回答
17
使用subprocess
模块产卵过程。 有proc.poll()函数 - 返回None
如果进程还活着,否则返回过程返回码。
14
os.kill
不会终止进程,它发送一些信号(它的命名很差)。
如果您发送信号0,您可以确定是否允许您发送其他信号。错误代码将指示它是权限问题还是缺少进程。
有关更多信息,请参见man 2 kill
。
此外,如果这个过程是你的孩子,当它死亡时你可以得到一个SIGCHLD
,你可以使用其中一个wait
调用来处理它。
相关问题
- 1. Python守护进程检查进程是否在Linux中挂起
- 2. 如何检查进程是否在Red Hat Linux上运行?
- 3. 检查linux中是否存在java进程
- 4. 如何检查Linux中是否正在运行进程?
- 5. 如何检查进程在python中运行(在linux中)?
- 6. 如何在Linux中检查ACL中是否存在UID?
- 7. 检查一个进程是否正在Python中运行(在Linux/Unix中)
- 8. 如何检查进程是否正在运行 - Linux
- 9. 检查进程是否在Linux上运行的最佳实践?
- 10. 检查文件是否存在Linux bash
- 11. 检查进程中是否存在进程
- 12. 在Linux上检查杀死进程
- 13. 检查python中是否存在sql表
- 14. Java - 如何检查另一个(非Java)进程是否在Linux上运行
- 15. 如何检查目录是否存在于linux中。?
- 16. 如何在Linux上检查服务是否正在运行Mint
- 17. 如何检查给定ID的进程是否仍然存在?
- 18. android - 如何检查进程是否存在?
- 19. Django ORM在mysql/postgres上检查是否存在Django ORM检查是否存在
- 20. 如何检查进程是否在Windows上运行?
- 21. 如何在Perl中检查Windows上是否存在Unicode目录?
- 22. 检查bash中是否存在程序
- 23. 如何在程序中检查参数值是否存在?
- 24. PHP检查进程是否正在运行(Linux)
- 25. 如何检查SQL Azure中是否存在存储过程?
- 26. python:检查url是否存在.jpg
- 27. Python 2.6.1:检查导入是否存在
- 28. 检查Windows用户是否存在python
- 29. Python ConfigParser:检查选项是否存在
- 30. 如何检测Linux上不存在的进程?
这是不是很差的名称。它被命名为反映也发送信号的Unix命令kill,因此是发送kill信号的泛化。 – jwg 2015-04-30 09:17:46