Как убить вкладки, не закрывая вкладки или не убивая сам браузер в chromium 58

В версиях до 58, killall chromium-browse[r] было достаточно, чтобы убить все вкладки, оставив браузер Chrome без изменений. Как это поведение может быть воспроизведено для новой версии браузера?

Лучшее, с чем я справился, это следующее, которое также убирает расширения при выполнении своей работы:

pgrep -f 'chromium-browser --type=renderer' | while read pid; do kill $pid; done

[ 116] Правка для контекста : у меня есть объем памяти, который хром может использовать, ограниченный cgroups. Когда это количество превышено, хром зависает, переставляя память с диска на диск. В этом состоянии Chromium не реагирует на ввод пользователя, поэтому браузер не может использовать вкладки.

Редактировать для наглядности : Уничтожение вкладки не означает ее закрытие. Я хочу, чтобы сама вкладка осталась, а процесс рендеринга умер. На это обычно указывает сообщение «Что-то пошло не так» вместо обычного содержимого вкладки.

1
задан 7 May 2017 в 13:26

2 ответа

Ctrl + Shift + w уничтожит все вкладки в текущем выбранном окне Chrome, не затрагивая сам браузер.

0
ответ дан 7 May 2017 в 13:26

Хорошо поэтому после Ваших редактирований; я играл вокруг с командой, которую Вы дали. Вы сказали, что это уничтожает расширения также так для исключения их, можно сделать grep -v "extension", но затем Вы принимаете как вход целое управление процесса.

Так или иначе. Сначала выберите имя процесса

pgrep -f -a 'chrome'

, я использую хром, можно поместить chromium-browser вместо этого. Эти -a флаг здесь важен.

затем делают

| grep 'type=renderer'

для получения всех рендереров. Затем сделайте

| grep -v "extension"

для исключения расширений, затем мы должны сделать

| egrep -o '^[0-9]{0,}'

для получения только числа процесса (так как мы должны были использовать эти -a флаг, который дает дополнительные данные в строке).

Канал, что в Ваш для цикла

| while read pid; do kill $pid; done

И это должно уничтожить рендереры без расширений

Поэтому наконец, вот все это для Вас:

pgrep -f -a 'chromium-browser' | grep 'type=renderer' | grep -v "extension" | egrep -o '^[0-9]{0,}' | while read pid; do kill $pid; done

я надеюсь, что не сделал ошибки

0
ответ дан 7 May 2017 в 23:26

Другие вопросы по тегам:

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