前兩天一個老師給我出了一個linux操作上的問題,現在知道進程名怎樣殺死這個進程。或許很多人都會和我一樣說用
或是
#pkill 進程名
#killall 進程名
的確這個兩個命令都能做到這些,而且我們平時一般知道進程名需要殺死進程的時候也都是用的這兩個命令。可是他叫我用kill 命令來完成這個一操作。我們知道kill 要殺死進程是需要知道進程的id的即進程號,其實這個思路就是需要通過其他命令獲取相應進程的進程號,然后用kill 殺掉。
這里提供兩個方法:
這個是利用管道和替換將 進程名對應的進程號提出來作為kill的參數。
sudo kill -9 $(ps -ef|grep 進程名關鍵字|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
很顯然上面的方法能完成但是過於復雜,下面這種就顯得簡單的多了
sudo kill -9 $(pidof 進程名關鍵字)