ちょっとした作業で、親プロセスIDを指定して子プロセスを再帰的にkillしたいということがあったので、その備忘。 特定のプロセスをkillする場合だと、よくpgrepを使ってプロセスidを取得してそこからkillさせていたのだが、それだと子プロセスが残ってしまう。 でどうすればよいのかと調べたところ、pgrepやpkillでは-g オプションを付与することで全プロセスIDを取得・指定できるので、それを利用すれば良い。

pgrep -g $(pgrep 親プロセス名) # 子プロセスを含め、すべてのプロセスを取得する
pkill -g $(pgrep 親プロセス名) # 子プロセスを含め...