Есть ли способ заставить google-chrome
выйти из терминала, кроме использования killall google-chrome
?
Я хотел бы иметь возможность закрыть его из сценария, не убивая его.
shell-script
kill
exit
chrome
slybloty
источник
источник
Ответы:
Возможно,
wmctrl
может быть какая-то помощь. Вы можете использовать-c
опцию, которая изящно закрывает окно:Строка
chrome
сопоставляется с заголовками окон. Обратите внимание, что окно может не закрыться, если всплывет какое-то сообщение (например, если у вас открыто несколько вкладок).источник
wmctrl
.pkill -o chrome
делает хотя.Эта команда корректно выходит из дерева процессов Chrome во всех оконных менеджерах:
или если вы предпочитаете:
Детали:
SIGTERM
--oldest
SIGTERM
то же самое15
, что--signal TERM
иSIGTERM
сигналwmctrl
работает с Unity и некоторыми другими, но работает не со всеми оконными менеджерамиwmctrl -c
закрывает одно окно за раз, поэтому чтобы закрыть все хромированные окна, вам нужно что-то вродеwhile wmctrl -c 'Google Chrome'; do sleep 0.2; done
источник
--oldest
это не вариант: использование-o
работает.-f
аргумент pkill не работает для меня. У меня есть некоторые другие процессы, работающие от имени пользователя root, в которых есть слово chrome в командной строке, поэтому мне просто отказано в разрешении. Без-f
, это работает отлично, хотя.Это работает для меня:
Обратите внимание, что я использую довольно многословную команду, чтобы сделать ее читабельной в коде, конечно, вы также можете выполнить:
источник
На
Mac OS X
, используйте это вместоЧто он делает, так это ищет процесс Google Chrome, а также уничтожает все его родительские процессы.
Из руководства pkill
В соответствии с @ Кейтом-Кассио 's ответа , вы можете попытаться убить сам старый процесс вместо. Обратите внимание, что это не сработало для меня.
источник
пытаться:
Это отправит сигнал «ВЫЙТИ» в chrome, который, в зависимости от вашего оконного менеджера, будет тем, что обычно отправляется при запросе на закрытие.
источник
kill
иkillall
когда Chrome видит это как сбой, и просит восстановить.SIGQUIT
обычно не отправляется приложениям, когда их просят закрыть (я не знаю ни одного WM, который делает это).WM_DELETE_WINDOW
это стандарт.kill -15 <pid_of_chrome>
сделал то, что я искал. Но,google-chrome
есть несколько пидов, и потребовалось несколько попыток, чтобы действительно получить правильный.