1. 程式人生 > >Linux顯示執行指令碼程序號的方法

Linux顯示執行指令碼程序號的方法

一般來說,我們可以使用pidof來顯示執行程序的程序號,但是,如果是想獲取執行指令碼的程序號的話,用pidof是獲取不到的。以sh執行指令碼test.sh為例,test.sh指令碼如下:

while true
do
    sleep 1
done

執行如下命令sh test.sh,指令碼就會進入死迴圈。執行pidof 'sh test.sh'命令,獲取結果為空;執行pidof sh卻可以得到以下所有sh執行的指令碼程序,包括我們的test.sh程序。因此,為了獲取到對應程序號,我們可以使用以下兩種方法:
ps
          ps是傳統方法,只是這裡直接使用命令“ps -ef | grep 'sh test.sh'”,會額外得到一個grep程序,如下:

          所以這裡只需要排除即可,如下:

pgrep
          pgrep的man結果如右:pgrep, pkill - look up or signal processes based on name and other attributes。可見,pgrep就時專門基於名稱等來獲取程序號的,直接使用如下命令即可: