Was ist Unix-Signal?

Unter Linux und ähnlichen Systemen eine kurze Benachrichtigung, mit der das Betriebssystem oder ein anderer Prozess einem Prozess ein Ereignis mitteilt. Jedes Signal hat eine feste Nummer und einen festen Namen: SIGTERM (15), der Standard von kill, fordert zum Beenden auf, SIGKILL (9) erzwingt es, SIGINT (2) entsteht durch Strg+C, SIGTSTP hält einen Job bei Strg+Z an, und SIGHUP (1) meldet, dass das Terminal getrennt wurde. Für viele Signale kann ein Prozess eine Routine (Handler) für den Empfang bereitstellen oder sie ignorieren, doch SIGKILL und SIGSTOP lassen sich weder empfangen noch ignorieren. Shell-Skripte setzen Handler mit trap.

Japanische Bezeichnung: シグナル(Unix)

„Unix-Signal“ kommt in 1 Übungsfragen aus 1 Themen vor, z. B. Grundlagen von Linux und der Kommandozeile.

Fachgebiet: Grundlagen von Linux und der Kommandozeile

Jetzt üben: Fragen zu Unix-Signal

Um einen Prozess zu stoppen, der nicht mehr reagiert, gilt es als empfehlenswert, zuerst „kill Prozess-ID“ zu verwenden und „kill -9 Prozess-ID“ nur dann, wenn er damit nicht endet. Was ist der Grund?

  1. ADas standardmäßige SIGTERM (Nummer 15) kann der Prozess empfangen und vor dem Beenden aufräumen, SIGKILL (Nummer 9) dagegen kann er nicht empfangen, und er wird ohne Aufräumen zwangsweise beendet
  2. BSIGTERM (Nummer 15), das kill standardmäßig sendet, beendet alles einschließlich der Kindprozesse, SIGKILL (Nummer 9) dagegen nur den angegebenen Prozess und hat daher weniger Auswirkungen
  3. CSIGKILL (Nummer 9) kann der Prozess empfangen und vor dem Beenden aufräumen, SIGTERM (Nummer 15), das kill standardmäßig sendet, dagegen kann er nicht ignorieren, und er wird sofort beendet
Antwort und Erläuterung anzeigen

Antwort: A. Das standardmäßige SIGTERM (Nummer 15) kann der Prozess empfangen und vor dem Beenden aufräumen, SIGKILL (Nummer 9) dagegen kann er nicht empfangen, und er wird ohne Aufräumen zwangsweise beendet

Ein Unix-Signal ist eine kurze Benachrichtigung, mit der das Betriebssystem einem Prozess ein Ereignis mitteilt; jedes hat eine feste Nummer und einen festen Namen. Ohne Optionen sendet kill SIGTERM (Nummer 15); ein Programm kann eine Routine (Handler) bereitstellen, die es empfängt, und vor dem Beenden etwa Dateien in Bearbeitung speichern oder temporäre Dateien löschen. SIGKILL (Nummer 9) kann der Prozess weder empfangen noch ignorieren, und der Kernel beendet ihn zwangsweise, sodass halb geschriebene Dateien beschädigt zurückbleiben können. Die ID des zu stoppenden Prozesses ermittelt man mit ps oder top.

„Unix-Signal“ in den Erläuterungen

Fragen mit „Unix-Signal“ (1)

  1. Um einen Prozess zu stoppen, der nicht mehr reagiert, gilt es als empfehlenswert, zuerst „kill Prozess-ID“ zu verwenden und „kill -9 Prozess-ID“ nur dann, wenn er damit nicht endet. Was ist der Grund?

Verwandte Begriffe

cron Ein-/Ausgabeumleitung Git grep Hardlink Inode Pipe (|) Regulärer Ausdruck (Regex) Shell SSH

Zur Glossarübersicht