Jawaban:
Baca dokumentasinya. Itu satu-satunya cara. Seperti yang sudah dituliskan Keith , arti asli SIGHUP adalah bahwa pengguna telah kehilangan akses ke program, dan karenanya program interaktif harus mati. Daemon - program yang tidak berinteraksi langsung dengan pengguna - tidak memerlukan perilaku ini dan sebaliknya sering memuat ulang file konfigurasi mereka ketika mereka menerima SIGHUP. Tapi ini hanya konvensi.
Jika Anda memiliki sumbernya, Anda dapat membacanya juga. Atau jika Anda hanya memiliki biner, Anda dapat mencoba membongkarnya, mencari sigaction
panggilan yang mengatur penangan sinyal SIGHUP
, dan mencoba mencari tahu apa yang dilakukan penangan sinyal itu. Akan lebih mudah mengatur untuk tidak mengirim SIGHUP ke program itu sejak awal.
Pada suatu titik waktu, proses yang diberikan ada di salah satu dari tiga keadaan sehubungan dengan sinyal tertentu: mengabaikannya, melakukan tindakan standar atau menjalankan penangan kustom. Banyak kesatuan memungkinkan Anda untuk melihat topeng sinyal dari suatu proses dengan ps
, misalnya dengan ps s
di Linux. Itu bisa memberi tahu Anda jika prosesnya mengabaikan sinyal atau akan langsung mati di SIGHUP, tetapi jika prosesnya telah menetapkan pawang Anda tidak bisa memberi tahu apa yang pawang lakukan.
Tindakan default adalah untuk menghentikan proses pada SIGHUP. Lihat man 7 signal
untuk lebih jelasnya. Tetapi program dapat memerangkapnya dan melakukan apa pun yang mereka inginkan. Karena proses daemon tidak seharusnya keluar, mereka biasanya menggunakan SIGHUP untuk tujuan lain, seperti menginisialisasi ulang diri mereka sendiri (seperti yang dilakukan pppd). Firefox menyimpan tindakan default.