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

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

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

  • Как установить GNOME 3 на RHEL6?
  • Как получить имя Диспетчера отображения в Linux?
  • В GNOME можно перемещать значки из лотка уведомлений на системную панель в верхней части экрана?
  • Ввод графического интерфейса для сценария оболочки
  • Как защитить thunderbird от случайной отправки электронной почты
  • Как управлять службами и демонами Fedora с помощью графического интерфейса?
  • Как изменить количество доступных рабочих областей в Cinnamon?
  • Возможно ли, что приложения KDE под управлением Gnome могут использовать информацию о приложениях Gnome?
  • 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 .

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