先日、Crondにより大量に生成されたままフリーズしてしまったgit系プロセスを殲滅するために、こんなコマンドを実行しました。
ps aux |grep git |awk '{ print "kill -9", $2 }' |sh
もちろんですが、絶対に気軽には使わないこと。
最悪サーバ全体クラッシュして死にます。
必ず使用前にサーバ屋さんに確認して下さい。
コマンドを叩く前にps aux |grep gitやps aux --forestでgitを含むgit関連以外のプロセスがいないか確認しましょう。
また、gitの部分をhttpdなど他の単語に変えれば応用可能ですが、httpdやlsyncdなどはツリー状のプロセスとなるため、基本的に親プロセス1個殺せば子プロセスが全滅するのであまり出番はないと思います。
cronで間違って100個くらいPHPの無限ループを作ってしまった、といったケースには有効になりそうなコマンドです。