2013-10-06 25 views
12

Właśnie testowałem flagi przełącznika zabicia za pomocą procesu uśpienia.Różnica między "zabity" i "zakończony"

początku chciałem ją zabił -15

[email protected]:~/Desktop/expermiments$ ps cax | grep 10005 
10005 pts/2 S+  0:00 sh 
[email protected]:~/Desktop/expermiments$ kill -15 10005 

A proces został zakończony

[email protected]:~/Desktop/expermiments$ sh testscript.sh 
This is a script which sleeps for few seconds .. 
Terminated 

potem zabił go - 9

[email protected]:~/Desktop/expermiments$ ps -ef | grep testscript.sh 
xtechkid 10059 9852 0 13:48 pts/2 00:00:00 sh testscript.sh 
xtechkid 10064 10007 0 13:48 pts/4 00:00:00 grep --color=auto testscript.sh 
[email protected]:~/Desktop/expermiments$ kill -9 10059 

A proces został zabity

[email protected]:~/Desktop/expermiments$ sh testscript.sh 
This is a script which sleeps for few seconds .. 
Killed 

Jaka jest różnica?

Odpowiedz

21

Sygnał "zakończ" SIGTERM jest sygnałem, który można przechwycić w programie. Często procesy, które mają działać w tle, wychwytują ten sygnał i rozpoczynają proces wyłączania, co skutkuje czystym wyjściem. Sygnał "zabicia", SIGKILL, nie może zostać przechwycony. Kiedy zostanie on wysłany do procesu, spowoduje to nagłe zakończenie tego programu.

Po zamknięciu lub ponownym uruchomieniu komputera, na przykład SIGTERM jest wysyłany do działających procesów, co pozwala im wyjść w czysty sposób, jeśli go obsługują. Następnie, po kilku sekundach wysyłane jest polecenie SIGKILL do procesów, które są nadal uruchomione, aby wykorzystane zasoby zostały siłą zwolnione (na przykład pliki w użyciu), a sekwencja zamykania może kontynuować (np. Odmontować systemy plików).

4

Zakończenie: będzie przechowywać wszystkie swoje dane przed zamknięciem (zapisywanie danych z pamięci RAM na dysku, dzienniki, etc)

zabójstw: To jest bardziej jak naciśnięcie przycisku Power PC i zresetować. Nie zapisuje żadnych dzienników ani innych danych.