Ketika saya ingin mematikan suatu proses melalui System Monitor, saya diberikan 2 cara cepat, Kill Process dan End Process. Apa perbedaan antara keduanya?
Ketika saya ingin mematikan suatu proses melalui System Monitor, saya diberikan 2 cara cepat, Kill Process dan End Process. Apa perbedaan antara keduanya?
Jawaban:
Per manual Monitor Sistem, Anda biasanya harus menggunakan "End Process", dan hanya jika itu gagal menggunakan "Kill Process":
Anda biasanya menghentikan proses hanya jika Anda tidak dapat mengakhiri proses secara normal seperti yang dijelaskan dalam Untuk Mengakhiri Proses.
Pada tingkat teknis, ini membuat saya berpikir bahwa Proses Akhir mengirimkan SIGQUIT, yang memungkinkan proses untuk menjebak dan melakukan pembersihan jika diperlukan, tetapi jika gagal, Kill Process harus mengirim SIGKILL yang seharusnya menghentikan proses dengan kekerasan, tanpa ada kesempatan untuk pulih. Gunakan hemat!
Saya juga penasaran, jadi saya hanya melihat-lihat kode sumber dan menemukan di bawah ini di application.cpp . Ada lebih banyak kode ini tapi saya pikir ini berkorelasi dengan opsi, setidaknya untuk Monitor Sistem 3.8.2.1 hingga 3.19.3:
Lihat pertanyaan ini pada Quora tentang sinyal SIGINT, SIGTERM, SIGKILL dan SIGSTOP untuk penjelasan yang baik tentang semua sinyal kill / quit / shutdown dan perbedaannya.