以下の内容はhttps://iww.hateblo.jp/entry/20251127/killより取得しました。


Linuxで、プロセスグループを殺す

プロセスを殺しても親や子や孫は死なないので、プロセスグループの指定で一族郎党皆殺しにする

プロセス名からプロセスIDを調べる

普通にpgrep を使う。 -n で最新1件、-o で最古1件になる

# pgrep -n -f "hoge.sh"
1235

プロセスIDからプロセスグループIDを調べる

psコマンドでオプションでpgidを指定する

# ps -o pgid= -p 1235
   1233

プロセスグループIDを指定してシグナルを送信する

killコマンドで PIDにマイナスをつけるとプロセスグループ指定という意味になる
ただそのままだとオプションに見えるので、-- でオプション終わりと指定

# kill -TERM -- -1233


一連の流れを関数にすると

minagoroshi ()
{
    NAMAE="$1"

    KODOMO=$(pgrep -n -f "$NAMAE")
    [ -z "$KODOMO" ] && return

    KAZOKU=$(ps -o pgid= -p "$KODOMO" | tr -d ' ')
    [ -z "$KAZOKU" ] && return

    kill -TERM -- -"$KAZOKU"
}

# hoge.sh を含むプロセスグループを皆殺しにする
minagoroshi hoge.sh



以上の内容はhttps://iww.hateblo.jp/entry/20251127/killより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14