Intereting Posts
Как конвертировать растровые изображения в SVG? Запись непрерывного вывода команды в файл без завершения команды Почему я не могу убить тайм-аут, вызванный с помощью скрипта Bash нажатием клавиши? что, если мне нужно поставить «внутри» в оболочке bash? Функция завершения командной строки Bash для vim и emacs 'scp: //' Удаленные пути к файлам Не удалось использовать Logitech C270 в Fedora 25 под VirtualBox Изменение байта с помощью bash, dd не работает Перенаправление трафика вторичного сетевого интерфейса вместе с переадресацией портов на tun0 (OpenVPN) с использованием iptables как установить kdm на CentOS 7 Как заменить строку на определенный шаблон в vi? Что произойдет, если я обновлю Fedora? Поиск файла для строк NOT, содержащих фразу с контекстом Перекрестные запросы от VLAN в dnsmasq Сканер не работает (последний выпуск манджаро) Можно ли открыть терминал с указанными tty / pty

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

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

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

killall chrome && killall хром

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

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

Поэтому мне было интересно: почему 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