Tôi bắt đầu nghi ngờ rằng Ubuntu không nói với các ứng dụng đang chạy rằng nó sẽ ngừng hoạt động để cho phép chúng thoát một cách chính xác mà thay vào đó buộc chúng phải thoát.
Nếu tôi để chrome mở khi tắt, nó báo rằng nó không đóng đúng lần trước khi tôi mở lại sau khi khởi động, LibreOffice không hỏi tôi có muốn lưu tài liệu của mình không và tôi đang tạo một ứng dụng cần chạy một số mã khi thoát nhưng không được phép làm như vậy khi tắt máy tính.
Như tôi đã hiểu, SIGTERM trước tiên được gửi đến tất cả các quy trình để cho phép chúng thoát ra một cách sạch sẽ và nếu chúng không thoát SIGKILL sẽ được gửi để buộc chúng thoát. Có vẻ như Ubuntu hoàn toàn không gửi SIGTERM hoặc không cung cấp cho các ứng dụng đủ thời gian trước khi gửi SIGKILL.
Có một số cách tôi có thể khắc phục điều này?
Tôi đang chạy Ubuntu 16.04 nhưng vấn đề cũng tồn tại trong 15.10. Tôi không thể biết nó có ở đó trước khi tôi bắt đầu sử dụng Ubuntu hay không khi 15.10 là phiên bản mới nhất.
Chỉnh sửa: Tôi sử dụng Unity và tắt máy tính của mình bằng cách nhấn thiết bị ở góc trên cùng bên phải và chọn tắt, mặc dù vấn đề là như nhau nếu chạy sudo halt
trong thiết bị đầu cuối.
Chỉnh sửa: Tôi đang quan sát hành vi tương tự khi chỉ đăng xuất. Tôi đoán là tín hiệu được cho là được gửi khi đăng xuất và do đó vấn đề phát sinh khi tắt máy và đăng xuất.