查看PID 進程是否存在的一個小技巧

在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  截獲如下一部分

wKiom1begB_BImeqAAOxBX-OzVY972.png


linux 系統幫助中給了我們很好的解答。呵呵。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章