Я начинаю подозревать, что Ubuntu не сообщает запущенным приложениям, что оно закрывается, чтобы позволить им корректно завершить работу, а вместо этого заставляет их завершать работу.
Если я оставляю Chrome открытым при выключении, он говорит, что он не закрывался правильно в последний раз, когда я снова открываю его после загрузки, LibreOffice не спрашивает меня, хочу ли я сохранить свой документ, и я делаю приложение, которое должно запустить некоторый код при выходе, но не разрешается делать это, когда компьютер выключен.
Насколько я понял, SIGTERM сначала отправляется всем процессам, чтобы позволить им завершить работу корректно, а если они не выходят, SIGKILL отправляется, чтобы заставить их выйти. Похоже, что Ubuntu либо вообще не отправляет SIGTERM, либо не дает приложениям достаточно времени для отправки SIGKILL.
Есть ли способ, как я могу это исправить?
Я использую Ubuntu 16.04, но проблема существовала и в 15.10. Я не могу сказать, было ли это там раньше, так как я начал использовать Ubuntu, когда 15.10 была самой новой версией.
Редактировать: я использую Unity и выключаю компьютер, нажимая на шестерню в правом верхнем углу и выбирая выключение, хотя проблема та же, если работать sudo halt
в терминале.
Изменить: я наблюдаю то же поведение, когда только выход. Я предполагаю, что сигнал должен быть отправлен при выходе из системы и, следовательно, проблема возникает при завершении работы и выходе из системы.