Сигналы, которые завершают работу приложения, не предназначены для дальнейшего взаимодействия с пользователем. Либо пользователь больше не доступен (сигнал HUP
, первоначальное значение которого было то, что пользователь был подключен к компьютеру через модем, и телефон умер), либо пользователь не хочет, чтобы его беспокоили (сигнал TERM
по умолчанию и его более жестокие братья и сестры QUIT
и KILL
). Многие приложения будут пытаться сохранить несохраненную работу где-нибудь, если они получат сигнал HUP
.
Другой вариант для Linux (и других устройств) состоит в том, чтобы отправлять уведомление окну, а не процессу: сообщение _NET_CLOSE_WINDOW
указывает приложению изящно избавиться от определенного окна. Вы можете отправить это сообщение из командной строки с помощью wmctrl
, например, wmctrl -c WINDOW_TITLE_SUBSTRING
. К сожалению, не все приложения поддерживают это.