После 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, но она вела себя по-другому. Это убило все.