2011-07-19 34 views
0

我在使用Ubuntu Linux 11.04。每隔一段時間,我需要清理類似於如何殺死Flash孤立進程?

F S UID  PID PPID C PRI NI ADDR SZ WCHAN STIME TTY   TIME CMD 
0 R selenium 25949  1 54 80 0 - 19187 -  00:09 ?  05:26:03 /usr/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin /usr/lib/flashplug 

我知道這些都是孤立的孤立的閃存工藝,因爲父PID(PPID)永遠是1.同樣地,我知道這個過程始終是一個「npviewer.bin」過程。我只是不知道這個魔術班輪來識別所有這些過程並殺死它們。

感謝您的幫助, - 戴夫

回答

2

感謝您的答覆。答案證明是

pgrep -P1 -f 'npviewer\.bin' | xargs kill -9 
+0

另請參見'pkill' - 它帶有'pgrep'並且幾乎相同 - 除了它可以殺死! –

1

嘗試killall npviewer.binkillall -9 npviewer.bin如果你感覺平均值。

如果您想區分,您必須編寫一個腳本,在/ proc中查找此信息,或者使用ps aux | grep npviewer | myscript來字符串破解相關信息。

+0

你的命令會殺死所有正在運行的Flash實例,並且我只想殺死孤立的實例。我怎麼做? – Dave

+0

第二個示例'myscript'可以'grep','cut'等輸入來提取PPID。它不會攜帶,但它可以爲你工作。 – spraff

1

使用ps -e -o "%P;%p;%c"來定位該過程。輸出將是三列,由;

分隔第一列必須爲1(PPID),最後一列包含進程名稱(不帶參數)。一些版本的ps添加了路徑,有些省略了它。修剪線(一些版本ps墊的輸出),並查找的regexp npviewer.bin$

如果一行相匹配時,在柱殺死與PID的進程2.

+0

用於提及ps佔位符的+1 – yPhil