Vollbildmodus: Seiteninhalt ohne Menus

Prozessverwaltung und Prioritäten

Prozesse (nohup, ps, pstree, pkill, pgrep, stoppen, resume, killen, htop + top, vmstat, zombie);

Quellen:

POSIX Signals

POSIX Signale (engl. „Signals“) sind Nachrichten die von einem zu anderen Prozess gesendet werden (um Statusänderungen anzuzeigen).

Wichtigere/oft benutzte Signale sind fett markiert, angegeben sind ist die Standverwendung, Programm können diese möglicherweise ignorieren oder anders verwenden.

:!: Tastenkomination eines Terminals lassen sich mit stty -a heraussfinden.

  1. SIGHUP - Signal: Hangup (Programme bekommen dieses Signal wenn das Terminal geschlossen wird, daemons reagieren meist wird dem Neulesen der Konfiguration)
  2. SIGINT - Signal: Interrupt (beendet ein Programm, wird im Terminal normalerweise mit Tastenkombination „STRG“ + „C“ ausgelöst)
  3. SIGQUIT - Signal: Quit (beendet ein Programm und verlanlasst dieses eine Core-Dump (eine Speicherabbild zur Fehleranalyse) zu schreiben, im Terminal ist die Tastenkombination üblichweise „STRG“ + „\“)
  4. SIGILL - Signal: Illegal Instruction (illegale Anwendung oder CPU-Code, beendet ein Programm und erstellt einen Core-Dump)
  5. SIGTRAP - Signal: Breakpoint/Trace Trap (zum debuggen von Programmen)
  6. SIGABRT (aka SIGIOT): Signal: Abort (oder: „Signal: IOT Trap“; ein Programm beendet sich weil es eine illegalen Zustand festgestellt hat und erstellt eine Core-Datei)
  7. SIGBUS: Signal: Bus Error (ein Speicherzugriff wurd auf eine unzulässige Weise versucht, beendet ein Programm und erstellt eine Core-Datei)
  8. SIGFPE: Signal: FloatingPoint Exception (beendet ein Programm und erstellt eine Core-Datei weil ein Fließkommafehler „floating point error“ auftrat:
    • Integer divide by zero
    • Integer overflow
    • FloatingPoint divide by zero
    • FloatingPoint overflow
    • FloatingPoint underflow
    • FloatingPoint inexact result
    • FloatingPoint invalid operation
    • Subscript out of range
  9. SIGKILL - Signal: KILL (beendet ein Programm radikal und sofort ohne Möglichkeit dieses Signal abzufangen oder zu ignorieren. Es hat auf allen Systemen die Nummer 9 und sollte nur als letzte Maßnahme angewandt werden)
  10. SIGUSR1 - Signal: User defined Signal 1 (Benutzerdefiniertes Signal, dd reagiert z. B. mit dem aktuellen Kopierfortschritt; Standardmäßig beendet sich ein Programm nach diesem Signal)
  11. SIGSEGV - Signal: Segmentation Violation (bzw. SegmentationFault; dieses Signal tritt bei falschen Referenzen auf Speicher auf, das Programm wird beendet und eine Core-Datei erstellt. Ursache sind fast immer Programmierfehler:
    • ein „pointer“ ist „NULL“ (unreferenziert, uninitialisiert oder bereits freigegeben)
    • eine Adresse ist nicht zum Objekt zugeordnet (z. B. unbenutzter oder bereits durch das Betriebssysten freigegebener Speicher)
    • ungültige Zugriffsrechte
  12. SIGUSR2 - Signal: User defined signal 2 (reserviert für IPC oder andere Mechanismen, normalerweise beendet sich ein Programm nach diesem Signal)
  13. SIGPIPE - Signal: Pipe (ausgelöst wenn ein Programm auf einen Socket oder fifo schreibt, der keinen Empfänger hat. Standardmäßig beendet sich ein Programm nach diesem Signal)
  14. SIGALRM - Signal: Alarm (wird nach einer bestimmten Anzahl von Sekunden nach dem Aufruf des alarm(2)-Systembefehls ausgelöst. Wird oft für die Erkennung von timeouts bei Systembefehlen benutzt, standardmäßig beendet sich ein Programm nach diesem Signal)
  15. SIGTERM - Signal: Terminate (ein Programm bekommt die Möglichkeit sich sauber zu beenden indem es das Signal abfängt. Standardmäßig beendet sich ein Programm nach diesem Signal)
  16. SIGSTKFLT - Signal: Stack fault on coprocessor (Standardmäßig beendet sich ein Programm nach diesem Signal)
  17. SIGCHLD - Signal: Child process (Ein abgeleiteter Kindprozeß hat seinen Status geändert, z. B. ein Signal empfangen oder sich beendet. Durch das Abfangen dieses Signals können Zombie-Prozesse erkannt und vermieden werden. Wird Standardmäßig ignoriert - SIG_DFL.)
  18. SIGCONT - Signal: Continue (Ein Prozeß kann von einem vorherigen SIGSTOP weiter machen. Im Gegensatz zu SIGSTOP kann SIGCONT abgefangen werden.)
  19. SIGSTOP - Signal: Stop (Hält einen Prozeß an bis ein SIGCONT empfangen wird, kann nicht abgefangen oder ignoriert werden.)
  20. SIGTSTP - Signal: Terminal Stop (Die STOP-Tastenkomination „STRG“ + „Z“ wurde an ein Terminal gesendet. Standardmäßig hält dies einen Prozeß wie bei SIGSTOP an.)
  21. SIGTTIN - Signal: Terminal Input on Background Process (Ein Prozeß versucht von einem Terminal zu lesen, das er nicht mehr kontrolliert. Das Programm wird angehalten bis SIGCONT gesendet wird.)
  22. SIGTTOU - Signal: tty output on background process (Ein Hintergrund-Prozeß hat versucht auf ein Terminal auszugeben, das Programm wird angehalten bis SIGCONT gesendet wird. Das Signal kann abgefangen oder ignoriert werden, siehe SIGTTIN.)
  23. SIGURG - Signal: Urgent (wird vom Betriebssystem gesendet wenn eilige Daten auf einem socket warten, wird standardmäßig ignoriert.
  24. SIGXCPU - Signal: CPU Time limit exceeded (ein mit ulimit(1) gesetztes CPU-Zeitlimit wurde überschritten, beendet ein Programm und erstellt einen Core-Dump)
  25. SIGXFSZ - Signal: File size limit exceeded (ein mit ulimit(1) gesetzte maximale Dateigröße wurde überschritten, beendet ein Programm und erstellt einen Core-Dump)
  26. SIGVTALRM - Signal: Virtual Alarm Clock (User-mode Signal das ein Programm beendet)
  27. SIGPROF - Signal: Profiling Timer Expired (benutzt für statistische Leistungsanalyse/Profiling, beendet den Prozeß)
  28. SIGWINCH - Signal: Window size Change (Wird an einen Prozeß gesendet wenn sich die Größe des Terminalfensters ändert. Standardmäßig wird das Signal ignoriert.)
  29. SIGIO - Signal: Input/Output now possible (Ein Programm bekommt dieses Signal wenn ein E/A möglich wurde. Siehe fcntl(2); Standardmäßig wird das Programm geschlossen.)
  30. SIGPWR - Signal: Powerfail (Wird ausschließlich an Init gesendet wenn der Kernel einen Spannungsausfall erkannt hat und an einer USVB läuft.)
  31. SIGSYS - Signal: Bad argument to routine (Falsches Argument an eine Routine, Standardmäßig wird das Programm geschlossen.)

Signal Links

 
linux/prozessverwaltung-und-prioritäten.txt · Zuletzt geändert: 2009/11/25 01:05 von st

News