Как остановить накопленные фоновые процессы Google Chrome?

11

Иногда невидимые экземпляры Google Chrome накапливаются и мешают мне запустить браузер:

$ ps -ef | grep chrome
ak        4044     1  4 11:30 ?        00:00:01 /opt/google/chrome/google-chrome
ak        4047  4044  0 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4049     1  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=zygote
ak        4139  4044  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=plugin --plugin-path=/home/ak/.config/google-chrome/Default/Extensions/cpngackimfmofbokmjmljamhdncknpmg/3.0.7_0/plugin/screen_capture_64.so --lang=en-US --plugin-data-dir=/home/ak/.config/google-chrome/Default --channel=4044.0x618d838.1464152706 --enable-crash-reporter=D8EC5832E6B1783FEA1F118FC4B1AAE0,Ubuntu 10.10
ak        4150     1  3 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4153  4150  0 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4155     1  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=zygote
ak        4244  4150  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=plugin --plugin-path=/home/ak/.config/google-chrome/Default/Extensions/cpngackimfmofbokmjmljamhdncknpmg/3.0.7_0/plugin/screen_capture_64.so --lang=en-US --plugin-data-dir=/home/ak/.config/google-chrome/Default --channel=4150.0x48c1e38.1952918361 --enable-crash-reporter=D8EC5832E6B1783FEA1F118FC4B1AAE0,Ubuntu 10.10
ak        4253     1  6 11:30 ?        00:00:01 /opt/google/chrome/google-chrome
ak        4256  4253  0 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4258     1  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=zygote
ak        4348  4253  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=plugin --plugin-path=/home/ak/.config/google-chrome/Default/Extensions/cpngackimfmofbokmjmljamhdncknpmg/3.0.7_0/plugin/screen_capture_64.so --lang=en-US --plugin-data-dir=/home/ak/.config/google-chrome/Default --channel=4253.0x598ca38.734301885 --enable-crash-reporter=D8EC5832E6B1783FEA1F118FC4B1AAE0,Ubuntu 10.10
ak        4355     1  4 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4358  4355  0 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4360     1  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=zygote
ak        4449  4355  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=plugin --plugin-path=/home/ak/.config/google-chrome/Default/Extensions/cpngackimfmofbokmjmljamhdncknpmg/3.0.7_0/plugin/screen_capture_64.so --lang=en-US --plugin-data-dir=/home/ak/.config/google-chrome/Default --channel=4355.0x4bb6e38.554350998 --enable-crash-reporter=D8EC5832E6B1783FEA1F118FC4B1AAE0,Ubuntu 10.10
ak        4457     1  5 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4460  4457  0 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4462     1  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=zygote
ak        4553  4457  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=plugin --plugin-path=/home/ak/.config/google-chrome/Default/Extensions/cpngackimfmofbokmjmljamhdncknpmg/3.0.7_0/plugin/screen_capture_64.so --lang=en-US --plugin-data-dir=/home/ak/.config/google-chrome/Default --channel=4457.0x5338c38.1605325542 --enable-crash-reporter=D8EC5832E6B1783FEA1F118FC4B1AAE0,Ubuntu 10.10
ak        4559     1  8 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4562  4559  0 11:30 ?        00:00:00 /opt/google/chrome/google-chrome
ak        4564     1  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=zygote
ak        4653  4559  0 11:30 ?        00:00:00 /opt/google/chrome/chrome --type=plugin --plugin-path=/home/ak/.config/google-chrome/Default/Extensions/cpngackimfmofbokmjmljamhdncknpmg/3.0.7_0/plugin/screen_capture_64.so --lang=en-US --plugin-data-dir=/home/ak/.config/google-chrome/Default --channel=4559.0x60e6638.1319164624 --enable-crash-reporter=D8EC5832E6B1783FEA1F118FC4B1AAE0,Ubuntu 10.10
ak        4661  4020  0 11:30 pts/2    00:00:00 grep --color=auto chrome

Если я попытаюсь запустить Chrome, пока они есть, появится следующее сообщение об ошибке:

Ваш профиль не может быть правильно открыт.

Некоторые функции могут быть недоступны. Пожалуйста, проверьте, что профиль существует, и у вас есть разрешение на чтение и запись его содержимого.

Если не считать выхода из Ubuntu, как я могу избавиться от них, чтобы Chrome снова запустился? Мое первое предположение не сработало, как я ожидал:

$ killall google-chrome
google-chrome: no process found

Выполнение killкаждого процесса два раза подряд завершает работу:

$ kill 4044 4047 4049 4139 4150 4153 4155 4244 4253 4256 4258 4348 4355 4358 4360 4449 4457 4460 4462 4553 4559 4562 4564 4653
$ !!
kill 4044 4047 4049 4139 4150 4153 4155 4244 4253 4256 4258 4348 4355 4358 4360 4449 4457 4460 4462 4553 4559 4562 4564 4653
bash: kill: (4139) - No such process
bash: kill: (4244) - No such process
bash: kill: (4348) - No such process
bash: kill: (4449) - No such process
bash: kill: (4553) - No such process
bash: kill: (4653) - No such process

но я бы хотел иметь менее громоздкое решение.

ændrük
источник
Вам не нужно убивать процессы дважды. Согласно вашему выводу, процессы не существуют, когда вы выполняете команду во второй раз.
Натан Осман
1
@George Шесть перечисленных процессов не существуют, но остальные все еще присутствуют после первой команды kill.
rndrük
Извини, не обращай внимания.
Натан Осман

Ответы:

14

Сумка с хромовыми ядами:

pgrep chrome | xargs kill # это в основном "pkill chrome"

То же самое, но спать в течение 1/3 секунды между:

for i in `pgrep chrome` ; do kill $i ;  sleep .33 ; done

Продолжайте убивать, пока убийство не будет сделано:

while pgrep chrome ; do pkill chrome ; done

Короткий и сладкий (но не выйдет, пока вы не выйдете вручную):

watch pkill chrome 

Может работать? :

for i in `pgrep chrome` ; do kill $i && wait $i ;  sleep .33 ; done
belacqua
источник
2

Если вы не хотите видеть «Google Chrome не закрылся правильно. Чтобы восстановить ... », тогда важно сигнализировать только о корне дерева процессов Chrome, например:

pkill --oldest chrome

Смотрите полное объяснение .

Кит Кассио
источник
1

Попробуй это?

kill $(ps -C google-chrome -o pid=)
Кис Кук
источник
Это не убило никаких процессов.
rndrük
1

Можешь попробовать:

pkill chrome

Похоже, мне нужно 5 дополнительных символов ...

Хавьер Ривера
источник
Я должен был запустить это три раза подряд, чтобы это работало.
rndrük
Вы пытались дать ему еще немного времени?
Хавьер Ривера
1

Я думаю, что не все это процессы, а скорее потоки.

Ты пробовал killall -15 google-chrome chrome? Это должно убить все процессы и потоки Google-Chrome с SIGTERMсигналом. Если это не сработает, вы всегда можете попробовать killall -9 google-chrome chrome(НАСТОЯТЕЛЬНО НЕ РЕКОМЕНДУЕТСЯ, если только вам АБСОЛЮТНО не нужно убивать процессы без сохранения данных)

Томас Уорд
источник
2
Я на самом деле взял kill -9вещи из своего оригинала, поэтому я не буду нести ответственность за случайные поломки. (Это, как говорится, я использовал это много раз ....)
belacqua
1
Есть ли разница между killallи killall -15?
rndrük
1
killall без каких-либо аргументов автоматически использует сигнал 15, который SIGTERM, однако, я всегда имею в виду, какой код система должна использовать для отправки в процесс (ы)
Томас Уорд
0
sudo killall chrome

Затем перейдите в «Настройки», выберите «Дополнительно», и в нижней части вы найдете переключатель, где вы можете установить его, чтобы НЕ допускать запуска фоновых процессов при выходе из программы.

SDsolar
источник