現在のシェルプロセスでのみbashのプロセスグループにシグナルを送信できますかkill
?これまでにこの投稿で感じたことは次のとおりです。
kill
Bashでは、プロセスグループに異なるプロセスを持つ単一のプロセスにのみシグナルを送信できますか?
Linuxでは、シグナルは常に単一のプロセスではなく、プロセスまたはカーネルからプロセスグループに転送されますか?
答え1
何もしないスクリプトを作成しました(user6915@から)42901)複数のプロセスを1つのプロセスで実行できるようにするには、次の手順を実行しますpgid
。
[root@JBCLAMP001 ~]# ps x -o "%r %p %y %x %c"
PGID PID TTY TIME COMMAND
62102 62102 pts/8 00:00:00 bash
62102 62104 pts/8 00:00:00 cat
62102 62103 pts/8 00:00:00 bash
それから私は62104
(猫)を殺しました。
PGID PID TTY TIME COMMAND
62102 62102 pts/8 00:00:00 bash
62102 64207 pts/8 00:00:00 cat
62102 64206 pts/8 00:00:00 bash
bash
プロセスの1つを再起動しましたが、実行中のbash
プロセスであると思いました。cat
それにもかかわらず、親のbashプロセスはまだ開いているようです。私は正しい道を行っていますか、それともこれがあなたが要求するものではありませんか?