Это "killall -r -9." гарантированно работать? - PullRequest
3 голосов
/ 25 февраля 2009

killall -r -9 . отправляет сигнал 9 всем процессам, соответствующим регулярному выражению . (т. Е. Убивает все процессы). Поскольку он убивает себя, вопрос заключается в том, будет ли он убивать себя последним, и поэтому будет делать то, что задокументировано, или, может быть, он убьет себя до завершения работы, оставив процессы живыми.

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

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

Ответы [ 2 ]

7 голосов
/ 25 февраля 2009

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

0 голосов
/ 25 февраля 2009

Почему бы не

kill -9 -1

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...