站長資訊網
        最全最豐富的資訊網站

        linux怎么用pid查看進程是否存在

        在linux中,可以利用kill命令根據pid查看進程是否存在,“kill -0”不會向進程發送信號,但是會進行錯誤檢查,若進程存在,返回的結果是0,若進程不存在,返回的結果是1,語法為“kill -0 pid”。

        linux怎么用pid查看進程是否存在

        本教程操作環境:linux7.3系統、Dell G3電腦。

        linux怎么用pid查看進程是否存在

        假設我們現在要監測某進程是否存活,每分鐘檢查一次,用上面的辦法就要每分鐘運行一次ps命令并且做一次grep正則查找。這點開銷在服務器上似乎不算什么,然而如果我們要在同一節點上同時監測數十個、數百個這樣的進程又如何呢?所以,我們有必要從性能的角度出發,發掘一些更好的辦法。

        對于daemon進程,通常都會有自己的pid或者lock文件,我們可以檢查這些文件是否存在來判斷進程是否存在。然而有些異常情況下,pid文件存在進程卻并不存在。因此并不能依賴進程的pid文件來檢測進程是否存活。

        一種可靠的方法是使用"kill -0 pid",kill -0不會向進程發送任何信號,但是會進行錯誤檢查。如果進程存在,命令返回0,如果不存在返回1。

        linux怎么用pid查看進程是否存在

        但是,這種方法對于普通用戶來說只能用于檢查自己的進程,因為向其它用戶的進程發送信號會因為沒有權限而出錯,返回值也是1。

        [sw@gentoo ~]$ kill 2993 -bash: kill: (2993) - Operation not permitted [sw@gentoo ~]$ echo $? 1 [sw@gentoo ~]$

        當然,如果你用特權用戶執行kill命令的話,就沒有權限問題啦。

        另一方面,我們知道內核會通過/proc虛擬文件系統導出系統中正在運行的進程信息,每個進程都有一個/proc/<pid>目錄。因此我們可以將檢測進程是否存在轉換為檢測/proc/<pid>目錄是否存在,這樣就簡單多了。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品禁18久久久夂久| 亚洲欧美国产精品第1页| 亚洲国产精品嫩草影院| 亚洲人成国产精品无码| 99热亚洲精品6码| 国内精品伊人久久久久AV影院| 欧美精品免费专区在线观看| 2024最新国产精品一区| 国产精品ⅴ无码大片在线看| 亚洲国产精品无码成人片久久| 精品乱子伦一区二区三区| 热久久这里只有精品| 99精品热这里只有精品| 无码精品久久久久久人妻中字| 欧美精品人人做人人爱视频| 国产欧美精品区一区二区三区 | 国产精品兄妹在线观看麻豆| 日韩精品欧美| 欧美精品色婷婷五月综合| 国产精品小黄鸭一区二区三区| 热99re久久国超精品首页| 精品久久综合1区2区3区激情 | AAA级久久久精品无码片| 人人妻人人澡人人爽欧美精品 | 久久91精品综合国产首页| 国产福利电影一区二区三区,亚洲国模精品一区 | 国产精品ⅴ无码大片在线看| 午夜精品乱人伦小说区| 亚洲一级Av无码毛片久久精品 | 99爱在线视频这里只有精品| 香蕉国产精品频视| 99久久精品国产麻豆| 99在线精品视频观看免费| 丰满人妻熟妇乱又仑精品| 国产AV午夜精品一区二区入口| 国产精品女同久久久久电影院| 日韩国产精品无码一区二区三区| 精品无码国产一区二区三区51安| 国产精品无码无片在线观看| 97久久精品午夜一区二区| 九九99精品久久久久久|