Fedora linux forum

Форум русской поддержки ОС Fedora linux

#1 2008-01-03 02:40:25

feofan
Member
Зарегистрирован: 2007-12-31
Сообщений: 55

завершить ИЛИ снять

Вот вопрос родился.
В системном мониторе можно процесс
-остановить
-снять (kill ?)
-завершить (end ?)
Какая между этими действиями разница?
В справке написано, что "завершить" — это "по правилам" (normally) — то есть типа корректно завершить, включая дочерние процессы?
А снять (kill) — это прибить "как есть" прямо щас? И если дочерние остануться или файлы несохраненные, то кто не спрятался я не виноват?
А тогда что значит "остановить"?

Неактивен

 

#2 2008-01-06 20:25:40

feofan
Member
Зарегистрирован: 2007-12-31
Сообщений: 55

Re: завершить ИЛИ снять

Рискую навлечь на себя праведный гнев модераторов, но хочется "приподнять" тему в списке.
В гугле долго рылся, но четкого объяснения разницы не нашел.
Прямой эксперимент тоже ничего не показал — пробовал и "снять", и "завершить" некритичные к устойчивлсти системы процессы. Потом перезагружался, — ноль эмоций.
Как будто разницы и нет...
Новедь она есть!
Наверное...

Неактивен

 

#3 2008-01-06 21:01:25

slavaz
Member
Откуда: Belarus
Зарегистрирован: 2007-10-22
Сообщений: 49

Re: завершить ИЛИ снять

"Завершить" — это посылается системный сигнал "SIGTERM" процессу. Как будто нажали CTRL+C
"Снять" — это уже посылается системный сигнал ядру "SIGKILL". По этому сигналу ядро грохает процесс, освобождая занимаемую им память.
Разница: Если послать сигнал "SIGTERM" (завершить), то приложение сможет обработать этот сигнал, сбросить все буфера, корректно закрыть открытые файлы и выйдет. Если же послать сигнал "SIGKILL" (снять), то приложение этот сигнал даже не получит. Оно будет грохнуто, при этом все данные в буферах ввода-вывода будут утеряны, а открытые им файлы будут закрыты ядром.
"Остановить" — это послать приложению сигнал "SIGSTOP".  Приложение перестаёт потреблять процессорное время, ядро на него "не обращает внимания". Но при этом процесс продолжает жить (вернее спать smile ) до сигнала "SIGCONT".

Код:

man 7 signal

там по-русски даже smile

Неактивен

 

#4 2008-01-06 21:35:21

feofan
Member
Зарегистрирован: 2007-12-31
Сообщений: 55

Re: завершить ИЛИ снять

Чтобы по-русски прочитать надо было знать, что поставить после "man"
smile
Спасибо большущее за развернутый ответ!, — хотя достаточно было бы просто указать, что
"Снять" точно соответствует "KILL", а "завершить" = "terminate"
Я бы ухватил.
Но тем более приятно, что помогли так подробно...

Неактивен