在Linux 中判斷一個PID 對應的進程是否存在,可以通過如下進行判斷
#! /usr/bin/env python import os def check_pid(pid): try: os.kill(pid,0) except OSError: return False else: return True if __name__ == "__main__": print check_pid(22467)
如果PID在系統中存在,將返回True , 否則返回False。
爲什麼向對應的pid 進程發生 0 信號(其實沒有這個信號的 。kill -l 可以確認沒有這個編號的信號) 能夠判斷 Pid 對應的進程是否存在呢 ?
在linux 系統中, man 手冊幫助了我們。
man 2 kill 截獲如下一部分
linux 系統幫助中給了我們很好的解答。呵呵。