Sobes.tech
Junior

Wat is het verschil tussen SIGTERM en SIGKILL signalen?

sobes.tech AI

Antwoord van AI

SIGTERM — is een signaal voor een beleefde beëindiging van het proces. Het informeert het proces dat het moet afsluiten, waardoor het de mogelijkheid krijgt om op te schonen (bijvoorbeeld gegevens opslaan, verbindingen sluiten). Het proces kan dit signaal negeren.

SIGKILL — is een signaal voor het geforceerd beëindigen van het proces. Het stopt het proces onmiddellijk, zonder dat het de kans krijgt om op te schonen. Dit signaal kan niet worden opgevangen of genegeerd door het proces.

Belangrijkste verschillen:

Kenmerk SIGTERM SIGKILL
Doel Beleefde afsluiting Geforceerde afsluiting
Verwerking Kan worden opgevangen en genegeerd Kan niet worden opgevangen of genegeerd
Opschonen van resources Het proces kan opschonen Het proces doet geen opschoning

Voorbeeld van het verzenden van signalen:

# SIGTERM sturen naar proces met PID 1234
kill 1234

# SIGKILL sturen naar proces met PID 1234
kill -9 1234

In scenario's voor procesbeheer (bijvoorbeeld in init-systemen, orchestrators), wordt meestal eerst SIGTERM verzonden, en als het proces niet binnen de toegewezen tijd afsluit, wordt SIGKILL verzonden.