GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Ctrl + cはSigintシグナルを複数のプロセスに送信できますか?

Ctrlを押すとそれを読みました + C SIGINT シグナルはフォアグラウンドプロセスグループに送信されます 。

フォアグラウンドプロセスグループに2つ以上のプロセスを含める方法の例を教えてください。 、 Ctrlを押すとすべてのプロセスが終了するかどうかを確認したいからです + C

承認された回答:

新しいプロセスはすべて同じプロセスグループ、つまり親プロセスのプロセスグループに属しているため、プロセスに一連のプロセスを開始させます(fork )、適切なロギングと遅延を使用して、 Ctrlと入力します。 + C 。彼らは皆SIGINTを食べます 。

$ perl -E 'fork for 1..2;say "ima $$"; $SIG{INT}=sub{die "woe $$\n"}; sleep 999'
ima 80920
ima 80922
ima 80921
ima 80923
^Cwoe 80920
woe 80922
woe 80921
woe 80923
$ 

straceを追加します またはsysdig または、関連するシステムコールまたは信号を確認するためなど。)


Linux
  1. Debian 10でプロセスをバックグラウンドに送信する-最良の方法?

  2. システムはいつ SIGTERM をプロセスに送信しますか?

  3. init プロセスを Linux のシェル スクリプトにすることはできますか?

  1. UNIX / Linux:プロセスにシグナルを送信する 3 つの方法

  2. Linux シグナルの基礎 – パート I

  3. プロセス グループのすべてのメンバーにシグナルを送信する最良の方法は何ですか?

  1. どのプロセスが自分のプロセスにシグナルを送信したかをLinuxで確認するにはどうすればよいですか

  2. setsid() が役立つのはいつですか? Linux でプロセスをグループ化する必要があるのはなぜですか?

  3. Linuxでのセッションの定義は何ですか?