GNU/Linux >> Belajar Linux >  >> Linux

Apa gunanya mengabaikan sinyal `SIGCHLD` dengan `sigaction(2)`?

Perilaku default SIGCHLD adalah membuang sinyal, tetapi proses anak disimpan sebagai zombie sampai induk memanggil wait() (atau varian) untuk mendapatkan status penghentiannya.

Tetapi jika Anda secara eksplisit memanggil sigaction() dengan disposisi SIG_IGN , yang menyebabkannya tidak mengubah anak menjadi zombie -- saat anak keluar maka langsung menuai. Lihat https://stackoverflow.com/a/7171836/1491895

Cara POSIX untuk mendapatkan perilaku ini adalah dengan memanggil sigaction dengan handler = SIG_DFL dan flags berisi SA_NOCLDWAIT . Ini ada di Linux sejak 2.6.


Linux
  1. Gunakan terminal Linux untuk melihat file apa yang ada di komputer Anda

  2. Bagaimana jika saya melebihi batas bandwidth yang saya tetapkan dengan VPS?

  3. memanggil fungsi ketika program selesai dengan ctrl c

  1. Tidak Sengaja Mengetik Crontab Hanya Dengan Dash?

  2. Apa gunanya $# di Bash

  3. Bagaimana cara menginstal PhantomJS untuk digunakan dengan Python Selenium di Raspberry Pi?

  1. Apa cara yang tepat untuk menggunakan inotify?

  2. Perintah apa yang saya gunakan untuk melihat sidik jari kunci ECDSA server saya?

  3. Apa konsep membuat file dengan nol byte di Linux?