pidof是一個命令行實用程序,可讓您找到正在運行的程序的進程ID。
在本文中,我們將解釋如何使用Linux pidof命令。
如何使用pidof命令
對于基于Red Hat和Debian的發(fā)行版,有pidof的不同實現(xiàn)。 在Red Hat發(fā)行版中,pidof命令是procps-ng軟件包的一部分,而在Debian上,它是sysvinit-utils的一部分。 我們將介紹兩種實現(xiàn)方式共有的選項。
pidof命令的語法如下:
pidof [選項] 程序名稱
該命令接受零個或多個名稱作為參數(shù),但是通常,您只將一個名稱傳遞給pidof。
不帶任何選項調用時,pidof將打印與給定名稱匹配的所有正在運行的程序的PID。 例如,要查找vim的PID,應運行:
[linuxidc@linux:~/www.linuxidc.com]$ pidof vim
4942
如果有名稱與sshd匹配的正在運行的進程,則其PID將顯示在屏幕上。 如果未找到匹配項,則輸出將為空。
輸出
4942
當至少一個正在運行的程序與請求的名稱匹配時,pidof返回0。 否則,退出代碼為1。在shell腳本中使用時,這很有用。
為確保僅顯示要搜索的程序的PID,請使用該程序的完整路徑名作為參數(shù)。 例如,如果您在兩個不同的目錄中有兩個同名的運行程序,則pidof將顯示兩個運行程序的PID。
默認情況下,顯示匹配的正在運行程序的所有PID。 使用-s選項強制pidof只顯示一個PID:
$pidof -s 程序名稱
-o選項允許您從命令輸出中排除具有給定PID的進程:
$pidof -o pid 程序名稱
當使用-o選項調用pidof時,可以使用名為%PPID的特殊PID來表示調用Shell程序或Shell腳本。
要僅返回使用相同根目錄運行的進程的PID,請使用-c選項。
該選項僅適用于以root或sudo用戶身份運行的pidof:
$pidof -c pid 程序名稱
pidof命令的用法示例
以下示例顯示了如何結合使用pidof命令和kill命令來終止程序。
假設Firefox瀏覽器已無響應,并且您需要終止Firefox進程。 首先,使用pidof查找PID:
[linuxidc@linux:~/www.linuxidc.com]$ pidof firefox
該命令將打印所有Firefox進程:
輸出
5231 5207 5166 5131 5090
一旦知道Firefox處理了PID,就發(fā)送SEGTERM信號終止所有PID:
[linuxidc@linux:~/www.linuxidc.com]$ sudo kill -9 5231 5207 5166 5131 5090
您還可以使用命令替換表達式$ $(…),用一個命令終止程序:
[linuxidc@linux:~/www.linuxidc.com]$ sudo kill -9 $(pidof firefox)
總結
pidof命令用于查找特定正在運行的程序的PID。
pidof是一個簡單的命令,沒有太多選項。 通常,您只會使用要搜索的程序的名稱來調用pidof。
如果您有任何疑問或反饋,請隨時發(fā)表評論。
更多Linux命令相關信息見Linux命令大全 專題頁面 http://www.haoyitu.cn/topicnews.aspx?tid=16