Saya mencoba mendapatkan shutdown / reboot yang anggun di ArchLinux dengan GNOME Shell. Sekarang, ketika saya meminta shut-down, itu segera dimatikan tanpa memberi waktu buka program untuk menutup / menyimpan file terbuka. Akibatnya, setiap kali saya memulai ulang Chrome (misalnya) itu memberi tahu saya bahwa sesi tidak ditutup dengan benar, dll. Dengan membaca di web saya mengetahui bahwa systemd saat mematikan proses, pertama-tama mengirim SIGTERMdiikuti oleh SIGKILLjika proses tidak menutup dalam batas waktu tertentu. Namun saya perhatikan bahwa pada sistem saya SIGKILLdikirim segera setelah SIGTERMdan saya kira ini adalah penyebab dari penghentian program tidak anggun.
Saya telah menemukan beberapa dokumentasi yang (jika saya membacanya dengan benar) menyatakan bahwa batas waktu sebelum pengiriman SIGKILLdapat diatur oleh TimeoutStopSec=opsi. Selain itu pengiriman SIGKILLjuga dapat dinonaktifkan dengan SendSIGKILL=opsi. Tetapi saya tidak dapat menemukan tempat untuk mengkonfigurasi opsi-opsi itu ... apakah ada file konfigurasi shutdown / reboot systemd di mana saya dapat mengatur opsi-opsi itu?
EDIT:
Saya melakukan beberapa tes dan saya menemukan dua hal menarik:
- Jika saya menutup krom secara manual seperti ini
killall -SIGTERM chrome, tidak akan mengeluh bahwa belum ditutup dengan benar saat berikutnya saya memulai lagi. Jika saya menutupnya seperti ini sebagai gantinyakillall -SIGKILL chrome, itu akan mengeluh. Ini memberitahu saya bahwa chrome menangani SIGTERM dengan benar. - Melihat output prosedur shutdown saya, cetakan systemd
Sending SIGTERM...segera diikuti olehSending SIGKILL...
Menurut komentar di bawah ini, systemd hanya menangani prosesnya saja. Jadi dalam kasus saya GDM. Ini memberitahu saya bahwa masalahnya mungkin:
- baik GDM tidak menutup proses turunannya (mis. Chrome) dengan benar (yaitu dengan mengirimkan SIGTERM kepada mereka)
- atau systemd mengirimkan pesan SIGKILL kepada GDM lebih awal tanpa memberinya waktu untuk menutup anak-anaknya dengan benar.
Apakah ada cara untuk memeriksa / mengkonfigurasi bagaimana sebenarnya GDM menutup anak-anaknya?
systemd'skontrol - systemdadalah pid 1- tetapi eksekutif Chrome dari skrip wrapper dalam sebuah proses subkulit dan memanggil anak sesudahnya. Namun, ia akan melakukan apa yang diperlukan untuk mematikannya zygotesselama sistem Anda dikonfigurasi dengan benar. Apakah Anda menggunakan salah satu solusi temp-space untuk chrome yang akan Anda rekomendasikan di Arch wiki?
gnome-session.