После kill <some_pid>
долгих лет использования простого в Unix-системах я учился pkill
у более молодого коллеги, разбирающегося в Linux 1 .
Вскоре я принял Linux-путь, pgrep
-ing и pkill
-ный через много дней и ночей, через замедления и условия гонки. Это было все хорошо и хорошо.
Но сейчас я не вижу ничего, кроме killall
. Кажется, как-то упоминаются только инструкции killall
, и я не уверен, является ли это какой-то параллельной разработкой, killall
преемником pkill
или чем-то еще.
Кажется, он работает более целенаправленно pkill
, но я уверен, что что-то упустил.
Может ли Ubuntu / Debian-подкованный 2 человек объяснить, когда (или почему) killall
следует использовать, особенно если это следует использовать в предпочтении pkill
(когда это pkill
часто кажется проще, потому что я могу быть неаккуратным с сопоставлением имен, по крайней мере по умолчанию).
Говоря о killall
, я не имею в виду команду, которая в некоторых системах Unix (Solaris, AIX,?) Убивала все пользовательские процессы. Вот описание этой версии со справочной страницы для IBM AIX :
Команда killall отменяет все запущенные вами процессы, кроме тех, которые производят процесс killall. Эта команда предоставляет удобное средство отмены всех процессов, созданных оболочкой, которой вы управляете. При запуске пользователем root команда killall отменяет все отменяемые процессы, кроме тех, которые его запустили. Если указано несколько сигналов, действует только последний.
1 «коллега» - это бесплатное обновление с «коллеги», так же может быть.
2 Изначально я думал, что это Linux или Debian, но некоторые источники утверждают, что Linux killall
является производным от BSD со вкусом Unix.
killall
(старая?) Система Solaris, но она вела себя по-другому. Это убило все.