Sinyal dapat dikirim menggunakan kill
utilitas atau matikan syscall. Tentu saja, Anda dapat mencoba dan mencari tahu siapa yang mengirim sinyal itu atau memutus terminal atau koneksi jaringan Anda, tetapi ada cara praktis yang lebih sederhana untuk memperbaiki masalah Anda.
Ketika kode seharusnya dijalankan sebagai daemon, tetapi sebenarnya tidak (seperti milik Anda), ada pembungkus yang dapat mengubah program apa pun menjadi daemon. Kejutan - pembungkus ini disebut daemon
! Ini memiliki banyak opsi, mungkin yang paling penting bagi Anda, opsi untuk memulai ulang utilitas Anda secara otomatis jika utilitas mati karena alasan apa pun.
Jika perintah ini tidak diinstal di Ubuntu Anda, cukup sudo apt-get install daemon
, dan man daemon
untuk memulai.
Nah, ada beberapa hal yang perlu diperhatikan tentang SIGHUP. Pertama, asalnya dari konsep hang-up, mis. kehilangan koneksi ke konsol karena sesuatu seperti modem. Dalam bahasa modern, ini secara umum berarti telah kehilangan kendalinya. Kecuali jika Anda telah melepaskan diri dari tty Anda, program apa pun yang dimulai di terminal tertentu akan menerima SIGHUP saat terminal ditutup. Lihat di sini untuk detail tentang cara melakukannya di program Anda. Opsi lainnya meliputi:
- menjalankan program Anda di dalam
screen
atautmux
- jalankan program Anda dengan
nohup
atau kerangka kerja daemonisasi lainnya
Kemungkinan lainnya adalah sesuatu dengan sengaja mengirimkan proses Anda SIGHUP yang menurut "tradisi" sering digunakan untuk memberi sinyal pada proses bahwa ia harus membaca ulang konfigurasinya.