2013-10-06 2 views
12

Я просто тестировал флаги переключателей для сверления со спящим процессом.Разница между 'Killed' и 'Terminated'

Сначала я попытался убил его с -15

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

И процесс был прекращен

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

Тогда я убил его - 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 

И этот процесс был убит

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

В чем разница?

ответ

21

Сигнал «оканчиваться», SIGTERM, является сигналом, который может быть перехвачен в программе. Часто процессы, которые предназначены для работы в фоновом режиме, поймают этот сигнал и начнут процесс выключения, что приведет к чистому выходу. Сигнал 'kill', SIGKILL, не может быть перехвачен. Когда это отправляется процессу, это приведет к резкому прекращению этой программы.

Когда вы завершаете или перезагружаете свой компьютер, например, SIGTERM отправляется на запущенные процессы, сначала разрешая им выйти чистым способом, если они его поддерживают. Затем через несколько секунд SIGKILL отправляется в процессы, которые все еще запущены, так что используемые ресурсы принудительно освобождаются (например, используемые файлы), и последовательность выключения может продолжаться (например, размонтирование файловых систем)

4

Прервать: он будет хранить все ваши данные перед выключением (запись данных из оперативной памяти на диск, журналы и т.д.)

Убить: Это больше похоже на нажатие Power PC и кнопку сброса. Он не сохранит никаких журналов или других данных.

Смежные вопросы