Was ist der Unterschied zwischen SIGKILL und SIGSTOP?

19

Das Handbuch beschreibt SIGKILLund SIGSTOPwie folgt:

SIGKILL             9    Term    Kill signal
SIGTERM            15    Term    Termination signal
SIGSTOP      17,19,23    Term    Stop the process

und heißt es:

Die Signale SIGKILL und SIGSTOP können nicht erfasst, blockiert oder ignoriert werden.

aber was ist der unterschied zwischen den 2 signalen?

qdii
quelle
Super Frage zu SO: stackoverflow.com/questions/4042201/…
Ciro Santilli am

Antworten:

15

Wie ist auf Wikipedia zu finden

SIGKILL

Das SIGKILL-Signal wird an einen Prozess gesendet, damit dieser sofort beendet wird. Im Gegensatz zu SIGTERM und SIGINT kann dieses Signal nicht abgefangen oder ignoriert werden, und der Empfangsprozess kann beim Empfang dieses Signals keine Bereinigung durchführen.

SIGSTOP

Das SIGSTOP-Signal weist das Betriebssystem an, einen Prozess für eine spätere Wiederaufnahme anzuhalten.

Maggy May
quelle
Möglicherweise möchten Sie jetzt auch, dass SIGINT ein Signal ist, das ausgegeben wird, wenn Sie STRG + C am Terminal drücken. SIGSTOP ist KEIN Signal, das gesendet wird, wenn Sie STRG + Z drücken - dies ist tatsächlich SIGTSTP und kann im Gegensatz zu SIGSTOP von einem Prozess ignoriert werden.
Shellbro
25

SIGKILL bricht einen Prozess ab und kann nicht gefangen werden

SIGTERM bricht einen Prozess ab, kann aber abgefangen werden, um einen würdevollen Ausgang zu erzielen

SIGSTOP unterbricht den Vorgang, bis Sie a SIGCONT

parkydr
quelle
4

Brechen Sie, wie der Name schon sagt, SIGKILLden Prozess ab, anstatt ihn SIGSTOPanzuhalten, bis SIGCONTer aufgerufen wird (um den Prozess fortzusetzen).

Antox
quelle