我有幾個運行某個進程的實例,我想確定最後一個進程的進程ID。 到目前爲止,我來到這個代碼:獲取某個進程上次啓動的實例的pid
ps -aef | grep myProcess | grep -v grep | awk -F" " '{print $2}' |
while read line; do
echo $line
done
這讓我myProcess的所有進程ID。不知何故,我需要比較這個pid的運行時間,並找出運行時間最短的那個。但我不知道該怎麼做...
我有幾個運行某個進程的實例,我想確定最後一個進程的進程ID。 到目前爲止,我來到這個代碼:獲取某個進程上次啓動的實例的pid
ps -aef | grep myProcess | grep -v grep | awk -F" " '{print $2}' |
while read line; do
echo $line
done
這讓我myProcess的所有進程ID。不知何故,我需要比較這個pid的運行時間,並找出運行時間最短的那個。但我不知道該怎麼做...
更簡單的方法是使用pgrep
及其-n, --newest
開關。
只選擇最新的(最近開始的)匹配的 進程。
另外,如果你不想使用pgrep
,您可以使用ps
和排序開始時間:
ps -ef kbsdstart
使用pgrep。它有一個-n
(最新)選項。所以試試吧
pgrep -n myProcess
謝謝了很多... pgrep只是在一行代碼中完成這項工作:) – 2013-03-17 15:47:40