GNU/Linux >> Belajar Linux >  >> Linux

Apa yang dapat menyebabkan SIGHUP dihasilkan?

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 atau tmux
  • 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.


Linux
  1. Apa yang saya gunakan di linux untuk membuat program python dapat dieksekusi

  2. Bagaimana saya bisa mendapatkan kembali fungsi utama saya?

  3. Apa yang harus dilakukan ketika Ctrl + C tidak dapat menghentikan proses?

  1. Tentukan apakah outputnya stdout atau stderr

  2. Bisakah saya menguji jaringan saya sendiri?

  3. Bagaimana saya tahu apa yang memutar drive saya?

  1. Bisakah Strace/ptrace Menyebabkan Program Rusak?

  2. dapatkah suatu program membaca bagian elfnya sendiri?

  3. Apa yang secara khusus dapat ditukar dengan RAM yang tidak bisa?