Ya. Daftarkan penangan sinyal Anda menggunakan sigaction
dengan SA_SIGINFO
bendera, mengisi sa_sigaction
bidang. Sekarang fungsi penangan Anda mengambil siginfo_t*
parameter, yang menyertakan bidang si_pid
.
Perhatikan bahwa si_pid
hanya diatur dalam keadaan tertentu. Dalam kasus Anda, Anda ingin memeriksa bahwa memeriksa si_code
disetel ke SI_USER
atau SI_QUEUE
. Baca man 2 sigaction
untuk lebih.
Ya, jika Anda menggunakan sigaction()
panggilan untuk menyiapkan penangan sinyal Anda alih-alih signal
. Dengan melakukannya, Anda dapat menyiapkan penangan sinyal yang menggunakan tiga parameter:
- Sebuah
int
, untuk nomor sinyal (sepertisignal
) - A
siginfo_t *
, yang merupakan struktur yang berisi semua jenis informasi tentang sumber sinyal, termasuk pid pengirim jika berlaku. (Ini juga mencakup beberapa informasi tentang penyebab sinyal untuk sinyal otomatis sepertiSIGSEGV
.) - A
ucontext_t *
, yang berkaitan dengan utas mana yang mendapat sinyal. Sebagian besar diabaikan.
bagaimana cara memaksa hanya menerima koneksi ssl di vsftpd?
Kompilasi Gcc tidak dapat menghitung akhiran dari file objek:tidak dapat dikompilasi