Я починаю підозрювати, що Ubuntu не повідомляє запущеним програмам, що він вимикається, щоб дозволити їм вийти правильно, а натомість змушує їх вийти.
Якщо я залишаю хром відкритим при відключенні, це говорить про те, що він не закрився правильно останній раз, коли я знову відкриваю його після завантаження, LibreOffice не запитує мене, чи хочу я зберегти свій документ, і я роблю програму, яка повинна запустити деякий код при виході, але заборонено це робити, коли комп'ютер вимкнено.
Як я зрозумів, SIGTERM спочатку надсилається всім процесам, щоб вони могли вийти чисто, а якщо вони не виходять, SIGKILL надсилається змусити їх вийти. Схоже, що Ubuntu або взагалі не надсилає SIGTERM, або не надає додаткам достатньо часу, перш ніж надсилати SIGKILL.
Чи я можу це виправити?
Я працюю на Ubuntu 16.04, але проблема існувала і в 15.10. Я не можу сказати, чи було це раніше, оскільки я почав використовувати Ubuntu, коли 15.10 була новітньою версією.
Редагувати: я використовую Unity та вимикаю комп'ютер, натискаючи на шестерню у верхньому правому куті та вибираючи вимкнути, хоча проблема однакова, якщо працює sudo halt
у терміналі.
Редагувати: я спостерігаю таку ж поведінку, коли виходив лише з системи. Я здогадуюсь, що сигнал повинен бути відправлений на вихід, і тому проблема виникає при відключенні та виході з системи.