我在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