Есть ли способ закрыть приложение с графическим интерфейсом дружественным способом « пожалуйста, выйдите сейчас », без графического доступа к окну приложений?
Например, если дисплей Gnome / X падает на черный, я бы хотел переключиться на tty2 и закрыть приложения, такие как firefox, таким образом, чтобы они могли сохранить свои настройки и т. Д. В лучшем случае без дальнейших запросов пользователей.
источник
pkill
указать вместо него имя исполняемого файла. Например:pkill -HUP firefox-bin
pkill
убьет их всех. Например, запустить это несколько раз , чтобы сделать некоторые фоновые процессы:sed "s/Woo/woo/" < /dev/urandom >> /dev/null &
. Тогда делайpkill -HUP sed
. Вы убьете все экземпляры sed, которые вы начали, а также все остальные экземпляры, выполняющие полезную работу.pkill
также убьет некоторые приложения, которые вы не ожидаете: например, если у вас естьchromium
запущенная программа, и вы хотите убить вызванную программуrom
, онаpkill
будет счастливоchromium
сбита. Лучшее использованиеkillall
, которое будет соответствовать только точному названию (но не в Solaris, где оно буквально убивает все процессы ).pkill -x
чтобы получить точное совпадение вместо частичного совпадения. Лично я использую частичное соответствие, чтобы сохранить набор текста, но вы должны знать, что делает инструмент. Да, по умолчанию это соответствует частичным строкам. Еще одна полезная опция --f
сопоставление с полной командной строкой, а не просто$0
.Вы можете попробовать:
или
По крайней мере, в некоторых системах, когда система завершает работу, все процессы получают сигнал TERM (15), прежде чем они отправляют сигнал KILL (9). HUP часто просто заставляет приложение перезагружать свои конфигурации, но оно может отличаться в зависимости от процесса.
источник
Нет общего способа сообщить приложению о выходе и сохранении его конфигурации. Могут быть способы уведомления приложений с использованием определенной среды, например,
dcop kfoo MainApplication-Interface quit
для некоторых приложений KDE 3. Помните, что в приложении может отображаться диалоговое окно с запросом подтверждения.Если X-дисплей становится непригодным для использования, убейте X-сервер. Нажмите Ctrl+ Alt+ BackSpace; если это не сработает, убейте процесс X-сервера с помощью
sudo pkill -x Xorg
. Когда X-сервер умирает, все X-приложения уведомляются, и они пытаются корректно завершить работу (нет гарантии, что они все сохранят, но это ваш лучший выбор).источник
Сродни ответу @ andcoz, если вы не знаете PID приложения (я предполагаю, что вы не знаете его наизусть), попробуйте следующее:
источник
pkill -HUP [application_name]
:)Две другие команды, которые вы можете рассмотреть, это
wmctrl -c
иxdotool windowkill
. Я не уверен,windowkill
что именно то, что вы ищете, если нет, вас может заинтересоватьwindowdelete
патч.источник