Как мягко убивать приложения gui через терминал?

Есть ли способ закрыть приложение GUI в дружественном режиме « пожалуйста, бросьте сейчас », без графического доступа к окну приложений?

Например, если сбой в Gnome / X падает до черного, я хотел бы переключиться на tty2 и закрыть приложения, такие как firefox, таким образом, чтобы они сохраняли их конфигурацию и т. Д. В лучшем случае без дальнейших пользовательских запросов.

  • Xfce 4.10 не работает после жесткого сброса Debian 7.11
  • Как отключить поведение полосы прокрутки GTK3?
  • Может ли Aura работать на других дистрибутивах Linux?
  • Как я могу изменить цвет в панели, когда программа нуждается в внимании?
  • GUI для NFTables, например fwbuilder
  • Не удалось запустить графический интерфейс
  • Как получить подробный графический интерфейс Kubuntu для изменения региональных / локальных настроек без установки всего KDE?
  • Графический интерфейс Octave не запускается на Ubuntu 16.04
  • 5 Solutions collect form web for “Как мягко убивать приложения gui через терминал?”

    Обычно вы можете использовать SIGHUP для «дружественного» закрытия приложения (с графическим интерфейсом или без него).

    kill -HUP <application_pid> 

    EDITED : добавлена ​​другая информация

    Способ обработки SIGHUP зависит от приложения, поэтому, как отметил Дэйв , может случиться так, что этот сигнал маскируется или обрабатывается. Однако все интерактивные приложения изящно выходят с SIGHUP.

    С другой стороны, я должен признать, что обычно я следую этой схеме:

     kill -HUP <application_pid> # check if application is still running kill -INT <application_pid> # check if application is still running kill -KILL <application_pid> 

    Очевидно, последняя команда не так «дружественна».

    Вы можете попробовать:

     kill -TERM <pid> 

    или

     kill -TERM `pidof <application_name>` 

    По крайней мере, на некоторых системах, когда система проходит через выключение, все процессы получают сигнал TERM (15), прежде чем они получат сигнал KILL (9). HUP часто просто заставляет приложение перезагружать свои конфиги, но может быть разным на основе процессов.

    Нет общего способа сообщить программе о выходе и сохранении ее конфигурации. Могут быть способы уведомления приложений с использованием определенной структуры, например, dcop kfoo MainApplication-Interface quit некоторыми приложениями KDE 3. Имейте в виду, что приложение может отображать диалоговое окно с запросом подтверждения.

    Если X-дисплей становится непригодным, уничтожьте X-сервер. Нажмите Ctrl + Alt + BackSpace ; если это не работает, sudo pkill -x Xorg процесс X-сервера с помощью sudo pkill -x Xorg . Когда X-сервер умирает, все X-приложения будут уведомлены, и они попытаются выйти изящно (нет гарантии, что они сохранят все, но это ваш лучший выбор).

    В ответ на ответ @ andcoz, если вы не знаете PID приложения (я предполагаю, что вы не знаете его наизусть), попробуйте следующее:

     kill -HUP `pidof [application_name]` 

    Две другие команды, которые вы, возможно, захотите рассмотреть, – wmctrl -c и xdotool windowkill . Я не уверен, является ли windowkill именно тем, что вам нужно, если не вас может заинтересовать патч windowdelete .

    Interesting Posts

    Может ли вредоносное ПО, запущенное пользователем без прав администратора или sudo, нанести вред моей системе?

    Сравните два столбца файла

    захват и сравнение заголовков пакетов iptables

    QStandardPaths: XDG_RUNTIME_DIR не установлен, по умолчанию используется '/ tmp / runtime-root' при запуске sudo-команд

    Открытая Solaris не будет загружаться после плохой остановки

    Создайте структуру ARGB для заголовка C из PNG

    Как выполнить скрипт на gdm login автоматически для всех пользователей?

    Как начать все сеансы оболочки в каталоге, отличном от $ HOME?

    SSH SOCKS5 proxy, является ли мой трафик безопасным?

    Как быстро сканировать беспроводные сети

    Используйте sed для выбора потенциально многострочной записи журнала

    Что такое rsh.rlogin и как удалить rsh.rlogin

    Копировать ввод в буфер обмена через SSH?

    Как сохранить распечатку последней команды в переменной оболочки в urxvt / zsh?

    Исключительно высокий уровень использования памяти Android-студия и эмулятор

    Linux и Unix - лучшая ОС в мире.