2009年2月3日

一行刪除程式所有的 Process

前幾天裝了 X windows, 所以要遠端用 VNC 連進來用 X11,由於設定的一些問題,所以建了一個設定檔,要自動開啟VNC,並把舊的VNC Session刪除,由於刪除需要用到找出VNC的PID,語法如下

ps aux | grep vnc | grep -v grep | awk '{print $2}'

但是這樣只會列出PID數字,還無法達成一行刪除,問了同事發現有個 xargs的好東西,所以要刪掉某個程式的所有 Process (這裡以VNC為例) 的語法如下

ps aux | grep vnc | grep -v grep | awk '{print $2}' | xargs -L1 kill

這樣就會把前面 stdout 出來的 PID 數字,再倒給 kill 去砍囉~

1 則留言:

張大蔥 提到...

sorry,路過看到..
不是有個killall的指令,後面接程式名稱就可以把所有它的process刪掉了?!

這個小工具發生錯誤