SIGALRM
SIGALRM ist ein Signal unter POSIX-kompatiblen Betriebssystemen. Es dient dazu, einen Prozess nach Ablauf einer Zeitspanne zu benachrichtigen; eine Analogie daz…
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
SIG ist eine Abkürzung für Signal. ALRM ist ein Kürzel für Alarm, hier mit der Bedeutung Weckruf.
Verwendung
Soll ein Programm eine maximale 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 Unterprogramm auf, siehe Signal (Unix)#Aktion ä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.
Quellen
- exec(3) – Linux manual page
- execve(2) – Linux manual page
- setitimer(2): get/set value of interval timer – Linux man page
Einzelnachweise
- ↑ alarm(2) – Linux manual page, abgerufen am 8. Januar 2025 (englisch)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.