Bash
複雜程序名稱的 pgrep/pidof 用法?
我正在嘗試使用 pidof 或 pgrep 能夠將 HUP 發送到我係統中的程序。問題是我只想用精確的參數終止程序。
這是“ps awx”的輸出
657 ? S 0:00 processname software 658 ? S 0:00 processname demo 659 ? S 0:00 processname test
通過執行以下操作之一:
pidof processname pgrep processname
您將獲得以 processname 開頭的所有程序的列表,但我想做類似的事情:
pidof processname test pgrep processname test
僅檢索我需要的 PID(在此範例中為 659)
更新
通過在 pgrep 上使用 -f 標誌,只需執行以下操作即可:
pgrep -f "processname test"
你會得到正確的答案。
$ ps aux |grep [d]evio user01 10220 0.0 0.1 5376 2424 pts/5 S+ 11:41 0:00 ssh devio $ pgrep -f "ssh devio" 10220 $ pkill -0 -f "ssh devio" ; echo $? 0