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