Signal

Een signal is een softwaremelding die naar een proces gestuurd wordt om het te informeren over een gebeurtenis. Signalen zijn de eenvoudigste vorm van communicatie tussen processen en de kernel.

Veelgebruikte signalen

SignaalNummerBetekenis
SIGTERM15Netjes beëindigen (kan worden afgevangen)
SIGKILL9Direct stoppen — niet afvangbaar of negeerbaar
SIGHUP1Herstart of herlees configuratie
SIGINT2Interrupt via toetsenbord (Ctrl+C)
SIGSTOP19Pauzeren (niet afvangbaar)
SIGCONT18Hervat een gepauzeerd proces

Sturen

kill -15 1234      # SIGTERM naar PID 1234
kill -9 1234       # SIGKILL — laatste redmiddel
kill -HUP 1234     # herlees configuratie (bijv. nginx, sshd)
killall nginx      # signaal naar alle processen met die naam

Ctrl+C en Ctrl+Z

  • Ctrl+C stuurt SIGINT → stopt het proces
  • Ctrl+Z stuurt SIGTSTP → pauzeert het proces (hervat met fg of bg)

Afvangen

Programma's kunnen signalen afvangen om netjes af te sluiten — bestanden opslaan, verbindingen sluiten. SIGKILL en SIGSTOP zijn de enige signalen die niet afgevangen kunnen worden.

Zie ook

  • proces — wat processen zijn
  • daemon — daemons gebruiken SIGHUP om te herladen
  • fork — hoe processen aangemaakt worden
linuxprocessen