GIDに関係なく、プロセスツリー全体を終了します。

GIDに関係なく、プロセスツリー全体を終了します。

プロセス抽象化に使用可能な信号を使用してプロセスを制御するのに問題があります。次の例では、ツリーperl全体の親スクリプトがあり、その値group i.d.25235。これはGIDすべての子供たちが受け継ぐことです。ただし、子の1つであるPIDofを持つシェルは4205新しいGIDシェルを起動します4205

プロセスツリーのこのブランチに新しいグループIDを設定したのは、プロセスツリーの残りの部分に影響を与えずにkill -9 -4205同じグループIDを共有しながら、shプロセスとすべての子プロセスを終了したいからです。GIDその後、シェルプロセスとそのサブプロセスを再起動できます。私が持っている問題は、perlスクリプト(親)から始めてツリー全体を終了する必要があるときです。kill -9 -25235(main group i.d.)またはkill -9 4678(親PID)を実行すると、グループIDが異なる分岐を除いてツリー全体が終了します。これらのプロセスは init で再び親化されます。

他の木に関係なく木全体を殺す方法はありますかGIDs?おそらく来るかもしれないと思いsession idsますが、果たして来るかはわかりません。

プロセスツリーの例:

perl(4678,25235)─┬─sc_serv(4685,25235)─┬─{sc_serv}(4691,25235)
                 │                     ├─{sc_serv}(4693,25235)
                 │                     └─{sc_serv}(4694,25235)
                 └─sh(4205,4205)─┬─ffmpeg(4207,4205)
                                 └─vlc(4208,4205)─┬─{vlc}(4217,4205)
                                                  ├─{vlc}(4219,4205)
                                                  └─{vlc}(4296,4205)

関連情報