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

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

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

killall chrome && killall хром

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

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

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

  • Исправлена ​​ошибка «firefox уже запущена» в Linux
  • Любой способ перезапустить машину Linux через SSH, если корневая файловая система не работает?
  • Не удается завершить или приостановить фоновое задание
  • Убивать процесс, когда ПИД постоянно меняется
  • Почему kill не работает из сценария, но работает с терминалом?
  • Убейте любую службу, запущенную на определенном порту
  • Приостановить процесс, не убивая его
  • kill -STOP отключается
  • 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

    Interesting Posts

    Должен ли я публиковать исходный код ядра, если я выпускаю собственное ядро?

    Многопоточная обработка / многопоточность в BASH

    LFS 7.5 – Ошибки компиляции Glibc-2.19 в разделе 6.9, являются ли они фатальными для моей сборки LFS?

    Может ли Bash сообщать интерактивный сеанс SSH из встроенного сеанса SSH?

    Маршрутизация интернета на сервере NAT через прокси Squid

    Попытка запускать команду при загрузке, но не работает

    Не удается найти исполняемый файл для пользователя без root по ssh

    Список файлов + каталог, рекурсивно отсортированный по времени доступа

    Установка переменной окружения TOPCOLORS

    cURL / wget – SSLv3, рукопожатие TLS, CERT зависает

    Служба Squid systemd не запускается при загрузке

    переустановите все пакеты FreeBSD с помощью pkg_add, pkg_info

    Evolution Проверьте почту, когда окно закрыто

    Могу ли я стереть свой SSD из самого диска?

    Как отформатировать и установить большой раздел с размером сектора 4k в Freebsd?

    Linux и Unix - лучшая ОС в мире.