Почему команда killall убивает только один экземпляр процесса?

Иногда мне нужно убить Google Chrome (из которого у меня открыто 2 окна / экземпляры). Оба экземпляра не находятся в режиме инкогнито.

Что я делаю: (на Debian 8)

killall chrome && killall хром

иметь 2 окна хрома закрыты.

Однако я читал, что команда killall должна убивать все экземпляры программы, а не только одну.

Поэтому мне было интересно: почему killall не убивает всех экземпляров, как это предполагало бы название?

4 Solutions collect form web for “Почему команда killall убивает только один экземпляр процесса?”

Возможно, что один из экземпляров chrome игнорирует сигнал SIGTERM , ожидая подтверждения секунды? killall -9 chrome может делать то, что вы хотите.

Я попробовал это с двумя процессами и, похоже, работает –

 jai@jai-VirtualBox:/tmp$ sleep 100 & [1] 3996 jai@jai-VirtualBox:/tmp$ sleep 60 & [2] 3997 jai@jai-VirtualBox:/tmp$ pgrep -l sleep 3996 sleep 3997 sleep jai@jai-VirtualBox:/tmp$ killall -v sleep Killed sleep(3996) with signal 15 Killed sleep(3997) with signal 15 [1]- Terminated sleep 100 [2]+ Terminated sleep 60 jai@jai-VirtualBox:/tmp$ pgrep -l sleep jai@jai-VirtualBox:/tmp$ 

Не могли бы вы повторить попытку с -v или -i (интерактивным)?

вы можете использовать команду top, чтобы показать процесс

 top 

убить процесс

  kill PID_of_chrome 

Браузер Chrome запускает несколько потоков при запуске, затем создает дополнительные потоки для каждого окна и / или вкладки, созданной впоследствии.

По умолчанию killall отправляет SIGTERM всем обработанным с определенным именем («хром» в вашем случае). Но только процессы, способные обрабатывать этот сигнал, будут продолжаться. Те, которые не способны обрабатывать сигнал SIGTERM, не будут закрыты. Вы можете убить их безоговорочно с помощью killall -9

  • Как я могу создать процесс, который трудно убить?
  • Как умело убить демона с его именем?
  • Патрулирование PIDs в kill не работает
  • Убейте любую службу, запущенную на определенном порту
  • Изящный способ убить процесс
  • Все еще жив, еще жив после убийства -9 / SIGKILL
  • Убивать дочерние родительские процессы в одной команде
  • bash: разный вывод между CTRL-C и «упорядоченной очисткой»
  • kill -9 не работает из скрипта bash, но работает в консоли
  • Почему kill не работает из сценария, но работает с терминалом?
  • Убивание фонового процесса в скрипте bash при выходе из скрипта
  • Linux и Unix - лучшая ОС в мире.