2009-02-25 2 views
3

killall -r -9 . посылает сигнал 9 всем процессам, соответствующим регулярному выражению . (т. Е. Он убивает все процессы). Как он убивает себя, вопрос в том, будет ли он убивать себя последним, поэтому делать то, что он документировал, или, может быть, он убьет себя до окончания работы, оставив процессы живыми.Является ли "killall -r -9." гарантированно работать?

После @ ответ Давида, это означает, что если вы запустите killall дважды он имеет меньше шансы работать, чем если вы запустите его один раз - потому что каждый killall может убить другого, прежде чем он заканчивает работу.

Это новый парадокс, похожий на проблему остановки?

+0

Вы должны включить опцию каннибала для этого, чтобы это работало – JaredPar

+0

Вы проверили его? :) – epatel

+0

Я протестировал его, но он убил терминал, поэтому я не знаю, кто был убит, а кто нет. – flybywire

ответ

7

На странице руководства говорится, что killall никогда не убьет себя.

0

Почему не

kill -9 -1 

, который убивает все процессы, в одном кадре?

Ну, на самом деле это убивает всех, кроме init и самого себя, и, конечно, если вы запустите его как непривилегированного пользователя, вы можете убить только свои собственные процессы. Но вам не нужно беспокоиться о «приказе», в котором он убивает: он запускает одиночный сценарий kill(-1, SIGKILL) вместо того, чтобы итерации по различным PID.

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