GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Kann Strg+c das Sigint-Signal an mehrere Prozesse senden?

Ich habe gelesen, dass Sie Strg drücken +C ein SIGINT Signal wird an die Prozessgruppe im Vordergrund gesendet .

Können Sie mir ein Beispiel geben, wie ich zwei oder mehr Prozesse in der Prozessgruppe im Vordergrund haben kann? , weil ich sehen möchte, ob alle Prozesse beendet werden, wenn ich Strg drücke +C .

Akzeptierte Antwort:

Da neue Prozesse alle zur gleichen Prozessgruppe gehören, der des übergeordneten Prozesses, lassen Sie einen Prozess eine Reihe von Prozessen starten (fork ), und geben Sie dann mit entsprechender Protokollierung und einer Verzögerung Ctrl ein +C . Sie essen alle ein 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 hinzufügen oder sysdig oder dergleichen, um die beteiligten Systemaufrufe oder Signale zu sehen.)


Linux
  1. Prozesse in Debian 10 in den Hintergrund schicken - Beste Methode?

  2. UNIX / Linux:3 Möglichkeiten, Signale an Prozesse zu senden

  3. Grundlagen zu Linux-Signalen – Teil I

  4. Was ist der beste Weg, um ein Signal an alle Mitglieder einer Prozessgruppe zu senden?

  5. Wie kann ich unter Linux feststellen, welcher Prozess meinem Prozess ein Signal gesendet hat?

So beenden Sie Zombie-Prozesse in Linux

So senden Sie Prozesse unter Linux in den Hintergrund

Prozessüberwachung unter Linux

Befehle für das Prozessmanagement in Linux

So senden Sie Prozesse unter Linux an den Hintergrund

Was ist ein gestoppter Prozess unter Linux?