Wat is Signaal (Unix)?

Op Linux en vergelijkbare systemen een korte melding waarmee het besturingssysteem of een ander proces een proces op de hoogte brengt van een gebeurtenis. Elk signaal heeft een vast nummer en een vaste naam: SIGTERM (15), de standaard van kill, vraagt om te stoppen, SIGKILL (9) dwingt het af, SIGINT (2) komt van Ctrl+C, SIGTSTP zet een job tijdelijk stil bij Ctrl+Z, en SIGHUP (1) meldt dat de verbinding met de terminal is verbroken. Voor veel signalen kan een proces een routine (handler) voorzien die bij ontvangst wordt uitgevoerd, of ze negeren, maar SIGKILL en SIGSTOP kunnen niet worden ontvangen en ook niet worden genegeerd. Shellscripts stellen handlers in met trap.

Japanse benaming: シグナル(Unix)

“Signaal (Unix)” komt voor in 1 oefenvragen uit 1 onderwerpen, bijv. Basis van Linux en de opdrachtregel.

Vakgebied: Basis van Linux en de opdrachtregel

Nu oefenen: vragen over Signaal (Unix)

Om een proces te stoppen dat niet meer reageert, wordt aangeraden eerst „kill <proces-ID>” te gebruiken en „kill -9 <proces-ID>” alleen als het proces daarmee niet stopt. Wat is de reden?

  1. AHet standaardsignaal SIGTERM (nummer 15) kan het proces ontvangen, zodat het kan opruimen voordat het stopt, terwijl SIGKILL (nummer 9) niet kan worden ontvangen en het proces zonder opruimen geforceerd beëindigt
  2. BSIGTERM (nummer 15), dat kill standaard stuurt, beëindigt alles inclusief de kindprocessen, terwijl SIGKILL (nummer 9) alleen het opgegeven proces beëindigt en dus minder gevolgen heeft
  3. CSIGKILL (nummer 9) kan het proces ontvangen, zodat het kan opruimen voordat het stopt, terwijl SIGTERM (nummer 15), dat kill standaard stuurt, niet kan worden genegeerd en het proces meteen beëindigt
Antwoord en toelichting tonen

Antwoord: A. Het standaardsignaal SIGTERM (nummer 15) kan het proces ontvangen, zodat het kan opruimen voordat het stopt, terwijl SIGKILL (nummer 9) niet kan worden ontvangen en het proces zonder opruimen geforceerd beëindigt

Een signaal is een korte melding waarmee het besturingssysteem een proces op de hoogte brengt van een gebeurtenis, en elk signaal heeft een vast nummer en een vaste naam. Zonder opties stuurt kill SIGTERM (nummer 15); een programma kan een routine (handler) voorzien die dit signaal ontvangt, zodat het bestanden in bewerking kan opslaan of tijdelijke bestanden kan verwijderen voordat het stopt. SIGKILL (nummer 9) kan het proces niet ontvangen en ook niet negeren, en de kernel beëindigt het proces geforceerd, zodat half geschreven bestanden beschadigd kunnen achterblijven. Het ID van het proces dat moet worden gestopt, wordt opgezocht met ps of top.

“Signaal (Unix)” in de toelichting

Vragen met “Signaal (Unix)” (1)

  1. Om een proces te stoppen dat niet meer reageert, wordt aangeraden eerst „kill <proces-ID>” te gebruiken en „kill -9 <proces-ID>” alleen als het proces daarmee niet stopt. Wat is de reden?

Vergelijkingen met deze term

Verwante termen

Bestandsrechten (permissies) cron Git grep Harde link (hard link) inode Omgevingsvariabele (environment variable) Omleiding van invoer en uitvoer (I/O redirection) Pipe (|) Reguliere expressie (regex)

Naar de woordenlijst