Hi 大家好
這次來聊聊 ps pidof pgrep 這些指令
用法大概如下
getPID $1
接著假如 你想要搜尋的process PID是你自己的上一個 也就是 同名process 但是在之後執行,想查詢到之前的 可以考慮用下列這種寫法
ps | grep process的名稱 | grep -v grep | grep -v process現在自己的PID
e.g.:
ps | grep hello_world | grep -v grep | grep -v 新的hello_world_PID
(主要藉由grep -v grep | grep -v 新的hello_world_PID 這段來過濾)
其實 想要查找Process的PID 常見直接方法 可能是用 pidof command.
請參考
http://codingstandards.iteye.com/blog/841123
http://blog.51osos.com/linux/linux-pidof-command/
主要的缺點 大概就是怕有同名的問題 這時後就可以用上面提到的方法來處理
想要搭配砍掉某一個process 但只知道名稱 可以使用下列寫法
kill -9 'pidof process_名稱'
另外也可以用pgrep 來查找 取代 ps | grep
pgrep -u 這個可以指出 process的owner是誰
以上 大概是這樣囉
小弟 下台一鞠躬
這次來聊聊 ps pidof pgrep 這些指令
從網路上看到 如果想在shell script 來得到某個process的PID的話
可以參考下列的寫法
#!/bin/bash
function getPID(){
ps -ef | grep $1 | awk '{print $2}'
}
getPID $1
用法大概如下
getPID $1
接著假如 你想要搜尋的process PID是你自己的上一個 也就是 同名process 但是在之後執行,想查詢到之前的 可以考慮用下列這種寫法
ps | grep process的名稱 | grep -v grep | grep -v process現在自己的PID
e.g.:
ps | grep hello_world | grep -v grep | grep -v 新的hello_world_PID
(主要藉由grep -v grep | grep -v 新的hello_world_PID 這段來過濾)
其實 想要查找Process的PID 常見直接方法 可能是用 pidof command.
請參考
http://codingstandards.iteye.com/blog/841123
http://blog.51osos.com/linux/linux-pidof-command/
主要的缺點 大概就是怕有同名的問題 這時後就可以用上面提到的方法來處理
想要搭配砍掉某一個process 但只知道名稱 可以使用下列寫法
kill -9 'pidof process_名稱'
想要直接砍掉 都不要看到任何回應訊息
kill -9 'pidof process_名稱' 2>/dev/null
另外也可以用pgrep 來查找 取代 ps | grep
pgrep -u 這個可以指出 process的owner是誰
以上 大概是這樣囉
小弟 下台一鞠躬
留言