Dieser Artikel wurde am 9. Dezember 2024 auf den Seiten der Qualitätssicherung eingetragen. Bitte hilf mit, ihn zu verbessern, und beteilige dich bitte an der Diskussion!
Folgendes muss noch verbessert werden: Fehlender Kontext, nicht OMA-tauglich. Anscheinden irgendwas im UNIX-/Linux-Bereich; Signal (Unix) hilft aber auch nicht weiter. --jergen ?

SIGALRM ist ein Signal unter POSIX-kompatiblen Betriebssystemen. Es dient dazu, einen Prozess nach Ablauf einer Zeitspanne zu benachrichtigen; eine Analogie dazu ist eine Eieruhr, die aufgezogen wird und nach Zeitablauf klingelt.

Etymologie

Bearbeiten

SIG ist eine Abkürzung für Signal. ALRM ist ein Kürzel für Alarm, hier mit der Bedeutung Weckruf.

Verwendung

Bearbeiten

Soll ein Programm eine maximalen Laufzeit einhalten, kann mit dem Systemaufruf alarm() die Auslösung des SIGALRM eingerichtet werden. Nach dem Zeitablauf wird das Programm durch das Betriebssystem beendet.

Ein Programm kann ein Unterprogramm zur Bearbeitung des SIGALRM einrichten. Beim Eintreffen des Signals ruft das Betriebssystem dieses Unterprogramms auf, siehe Signal (Unix)#Signal_ändern.

Bei einigen Systemen ist dokumentiert, dass die Funktion sleep() ebenfalls SIGALRM benutzt und Aufrufe von alarm() und sleep() nicht gemischt werden sollen.[1]

Die für einen Alarm laufende Uhr läuft u. U. weiter, falls das Programm mit den Systemaufruf execve() durch ein anderes Programm ersetzt wird. Ein Unterprogramm zur Signalbehandlung ist dann nicht mehr vorhanden. Beim Eintreffen des SIGALRM wird das Programm beendet. Das neue Programm kann natürlich eine eigene Signalbearbeitung einrichten.

Einzelnachweise

Bearbeiten
  1. https://www.man7.org/linux/man-pages/man2/alarm.2.html