91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux查看進程是否存在的方法

發布時間:2020-06-10 10:23:46 來源:億速云 閱讀:1482 作者:Leah 欄目:建站服務器

這篇文章給大家分享的是linux查看進程是否存在的方法。小編覺得挺實用的,因此分享給大家學習。如下資料是關于linux查看進程是否存在方法的內容。

這個問題看起來好像很簡單,"ps -ef | grep xx"一下就行啦!這樣做當然可以,但是如果我們考究起性能來,這恐怕不是個好辦法。

假設我們現在要監測某進程是否存活,每分鐘檢查一次,用上面的辦法就要每分鐘運行一次ps命令并且做一次grep正則查找。

這點開銷在服務器上似乎不算什么,然而如果我們要在同一節點上同時監測數十個、數百個這樣的進程又如何呢?

所以,我們有必要從性能的角度出發,發掘一些更好的辦法。

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

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

[sw@gentoo ~]$ ps
  PID TTY          TIME CMD
pts/0    00:00:00 bash
pts/0    00:00:00 ps
[sw@gentoo ~]$ kill -0 15091
[sw@gentoo ~]$ echo $?
[sw@gentoo ~]$ kill -0 15092
-bash: kill: (15092) - No such process
[sw@gentoo ~]$ echo $?
[sw@gentoo ~]$

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

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

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

關于linux查看進程是否存在的方法就分享到這里了,解決問題并不止文章中和大家分析的辦法,不過本文分析的方法準確性是不容置疑的。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五峰| 兴仁县| 大同市| 忻城县| 玉溪市| 剑川县| 永州市| 鄱阳县| 沧州市| 景洪市| 三明市| 泽普县| 丰都县| 延吉市| 昭通市| 九江市| 南宁市| 兴海县| 高碑店市| 宁陕县| 米林县| 玉屏| 乐亭县| 茌平县| 通城县| 哈巴河县| 灵川县| 牡丹江市| 华蓥市| 济南市| 尚义县| 大荔县| 彰武县| 新乡县| 凭祥市| 祥云县| 抚州市| 金川县| 会宁县| 资兴市| 凌源市|