Как легко убить основной процесс Google Chrome (Windows 7 / Ubuntu Linux)

1513
Stefan Monov

Мне нравится функция Chrome, которая позволяет мне восстанавливать его страницы после того, как он был закрыт изящно. Я использую это как способ сохранить мой сеанс (например, при перезагрузке для установки обновлений ОС).

Что я делал до сих пор:

  • Откройте диспетчер задач Chrome, найдите процесс Browser и запомните PID.
  • убить процесс с этим PID (с помощью kill -9 <pid>Ubuntu и с помощью диспетчера задач в Windows)

Я ищу способ сделать это в один клик, или как можно меньше действий. Например, со скриптом, который я поставил на рабочий стол.

Я ищу решение как для Windows 7, так и для Ubuntu Linux.

Примечание: я знаю, что вместо этого я мог бы использовать какое-то расширение Chrome для управления сессиями, но я пробовал некоторые из них, и они не работают точно так, как я хочу, тогда как описанный выше метод работает точно так, как я хочу, но немного слишком сложно использовать.

Примечание. И в Linux, и в Windows все мои процессы Chrome имеют имя chrome, поэтому я не могу различить процессы вкладок и процесс браузера по имени. Я говорю это, потому что я видел совет, чтобы убить процесс под названием google-chrome-stable- у меня нет такого процесса.

Изменить: я нашел этот ответ на SuperUser, который работает очень хорошо без необходимости убивать какие-либо процессы. Я проголосовал за то, чтобы закрыть мой вопрос как дубликат.

1
Почему бы вам просто не скачать расширение для сохранения сессии? DrZoo 7 лет назад 1
@DrZoo: я еще не нашел расширение, которое работает так, как я описал в [этом вопросе] (http://softwarerecs.stackexchange.com/q/38721) Stefan Monov 7 лет назад 0
Это просто: это процесс Chrome, который не имеет процесса Chrome в качестве родителя. Мне лень пытаться написать какой-нибудь сценарий сейчас. В Linux вы, вероятно, можете использовать `/ proc`, а в Windows, возможно,` wmic` или что-то в этом роде. Или просто написать правильную программу. Daniel B 7 лет назад 0
@monov Session Buddy. DrZoo 7 лет назад 0

1 ответ на вопрос

0
Serhat Cevikel

Просто введите:

killall google-chrome-stable 

Обновление после редактирования монов:

Чтобы убить процесс табуляции: В chromium (я полагаю, в chrome процессы будут иметь похожие флаги) процессы табуляции помечаются с помощью type = renderer. Таким образом, в приведенной ниже строке, после перечисления этих процессов и извлечения PID, номер строки в sed pipe определяет номер вкладки, а n-й PID уничтожается:

ps aux | grep chrome | grep -v grep | grep type=renderer | tr -s " " | cut -d " " -f2 | sed -n 3p | xargs -i kill -9 {} 

Убить x-е окно браузера (родительский процесс без флага или дополнительной информации после «chrome»). Обратите внимание, что все остальные процессы не заканчиваются на "хром"

ps aux | grep chrome$ | tr -s " " | cut -d " " -f2 | sed -n 3p | xargs -i kill -9 {} 

Примечание: pgrep не может вернуть тот же ответ с соответствием регулярному выражению в конце строки ($), поэтому я использовал grep.

Если подробная информация в процессе вкладки в Chrome отличается от информации в Chrome, пожалуйста, дайте мне знать.

Я только что добавил правку в свой вопрос по этому поводу. Пожалуйста, посмотрите это. Stefan Monov 7 лет назад 0
Спасибо, но ваши решения - "убить процесс вкладки" и "убить окно x-го браузера". Вместо этого я хочу убить основной процесс браузера - тот, который владеет всеми окнами и всеми вкладками. Там никогда не более одного такого процесса. Stefan Monov 7 лет назад 0

Похожие вопросы