LINUX.ORG.RU

сигналы


0

0

В одном из тестов есть такой вопрос:

Что означает сигнал номер 0?

1) Выход из Shell
2) Компьютер будет остановлен (shutdown) т.е. переходит с одного уровня работы системы (run level) на другой
3) Такого сигнала не существует, сигналы нумеруются с единицы
4) Остановка процесса с клавиатуры

Я всега думал, что на самом деле сигналы действительно нумеруются с 1... В классических UNIX их было 1-16, в современных увеличили на 2 (1-32)... Но из правильный ответ для этого вопроса гласит, что вариант 3 не правильный!

Разрешите вопрос: я глючу или у кого-то кривые руки? :))

anonymous

IMHO, нет в списке правильного ответа.
Сигнала с номером 0 действительно нет ... но его все-таки
можно послать ;-)

Из man 2 kill :
> ...
> If sig is 0, then no signal is sent, but error checking is
> still performed.
> ...

То есть можно вызвать kill с номером сигнала 0,
при это приизойдет проверка, что такой процесс
есть и у тебя есть permissions для посылки ему
сигналов... но ничего реально отправлено не будет.

anonymous
()
Ответ на: комментарий от Murr

Сигнал 0 жутко удобен для проверки существования процесса
и, как правильно замечено выше, не приводит ни к каким последствиям.
Жаль что и зомби тоже хавают этот сигнал без проблем.
Ну на то они и зомби.

io ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.