Убить все экземпляры Chrome в командной строке?

37

В некоторых случаях уничтожение одной вкладки / процесса не делает этого, и мне нужно полностью закрыть Chrome. Поскольку в Chrome несколько процессов, как я могу закрыть их все одновременно?

Я знаю это...

pgrep chromeвозвращает все пиды. Что за хитрость позволила бы мне закрыть все из них, передав их другой команде или объединив их в файл CSV или что-то в этом роде?

медер омуралиев
источник
3
Так как здесь есть по крайней мере три ответа, которые бесполезно делать kill -9, вот три ссылки, обсуждающие причины, которые должны быть вашим последним выбором: когда я должен использовать kill -9 , kill -9 и Бесполезное использование kill -9 .
Приостановлено до дальнейшего уведомления.
1
Аналогичный вопрос на сайте U / Linux: unix.stackexchange.com/q/34101/6272
AlikElzin-kilaka
Самым чистым ответом на самом деле является ответ на вопросы на других сайтах, как указано ниже, так как он определяет, какой процесс нужно убить с помощью самой старой отметки времени:pkill --oldest chrome
nealmcb

Ответы:

55

Попробуйте использовать pkill (1) .

pkill chrome

jschmier
источник
просто знайте, что pkill может быть не на всех системах, но если у вас есть pgrep, более вероятно, что pkill также существует.
kSiR
2
для меня это было чувствительно к регистру, мне нужно было написатьpkill Chrome
Лирон Яхдав
1
Не работает вилка для меня. Использование pkill chromeне закрыло основной процесс Chrome. Он закрыл все внутренние процессы, вызывающие сбои на всех расширениях. Кроме того, это привело к тому, что некоторые окна не открылись при следующем запуске, что привело к потере состояния :(
AlikElzin-kilaka
2
@ AlikElzin-kilaka - Вы можете попытаться явно убить самый старый процесс Chrome чем-то вродеpkill --oldest chrome
rinogo
13
ps aux | grep chrome | awk ' { print $2 } ' | xargs kill -9

или

pgrep chrome | xargs kill -9

или

ps aux | awk '/chrome/ { print $2 } ' | xargs kill -9

Последний является более «элегантным», так как он не подберет фактический pid для «grep chrome» внутри своего списка ps

:-)

КСИР
источник
Есть ли причина использовать ps ... | вместо того pgrep, чтобы даже предположить, что вы не хотите использовать pkill?
Каскабель
3
Также всегда вежливо начинать с SIGTERM, прежде чем перейти к SIGKILL.
Каскабель
не совсем, единственная причина, по которой я выкинул опцию ps, из-за того, что многие мои системы являются голыми, то есть у нас нет таких вещей, как pkill pgrep
kSiR
Я согласен, но одного просто попросили убить: -O s / -9 / -1 / g
kSiR
6

Некоторые системы могут также иметь полезные программы, такие как killallи pidof(которые фактически предоставляются System V killall5):

killall chrome
kill -9 `pidof chrome`

Оба они должны выполнить то, что вы просите.

Джон Ледбеттер
источник
1
Вы не должны использовать, -9кроме как в крайнем случае. Делай kill PIDпервым.
Приостановлено до дальнейшего уведомления.
killallтакже поддерживает регистронезависимость, например: killall --ignore-case ChRomEуничтожит все процессы Chrome. Опция --ignore-caseтакже может быть сокращена до -I. К сожалению, pkillне поддерживает регистронезависимость - по крайней мере, в системах Linux, которые я пробовал (но он поддерживает -iрегистронезависимость в MacOS).
небытие
1

Вы действительно должны просто использовать, pkillкак предлагает jschmier, но если вы настаиваете на pgrep, просто используйте подстановку команд:

kill $(pgrep chrome)
Cascabel
источник
не будет kill pgrep chrome`` тоже сработает;)
kSiR
@kSiR: [с опозданием на месяц] да, но $(...)это отличная привычка, поэтому вы можете вкладывать, когда вам нужно, и переключаться между соответствующими разделителями в вашем редакторе.
Каскабель
1

Самая простая команда это:

sudo killall chrome

Это с правами администратора уничтожит все процессы, которые содержатся chromeв их имени.

Смотрите man killallдля получения дополнительной информации ...

joksancpen
источник
3
Не могли бы вы немного объяснить, как работает ваш ответ?
nhinkle
1

/usr/bin/pkill --oldest --signal TERM -f chrome работал отлично.

Источник: /unix//a/174451/6272

AlikElzin-kilaka
источник
Это должен быть принятый ответ.
nealmcb
0

Вы также можете попробовать что-то вроде этого:

ps -C chrome |cut -f 1 -d' ' | xargs kill
Натан Феллман
источник
Вы не должны использовать -9, кроме как в крайнем случае. Делай kill PIDпервым.
Приостановлено до дальнейшего уведомления.
хорошая точка зрения. Я обновил свой ответ.
Натан Феллман
Не нужно проходить через другую трубу cut; psможет сделать это сам ps -o pid= -C chrome | xargs kill.
Musiphil
И это хорошая привычка ставить -rв xargs: ps -o pid= -C chrome | xargs -r kill.
Musiphil
@musiphil: что такое -r?
Натан Феллман
0

Под Ubuntu это то, что работало для меня:

Пкилл хром

user1685993
источник