Ano. Zaregistrujte svůj obslužný program signálu pomocí sigaction s SA_SIGINFO příznak, vyplňte sa_sigaction pole. Nyní vaše funkce obslužného programu trvá siginfo_t* parametr, který obsahuje pole si_pid .
Všimněte si, že si_pid se nastavuje pouze za určitých okolností. Ve vašem případě budete chtít zkontrolovat, zda je si_code je nastaven na SI_USER nebo SI_QUEUE . Přečtěte si man 2 sigaction pro více.
Ano, pokud používáte sigaction() zavolejte, abyste nastavili obsluhu signálu namísto signal . Pokud tak učiníte, umožní vám nastavit obsluhu signálu, která přebírá tři parametry:
int, pro číslo signálu (stejně jakosignal)- A
siginfo_t *, což je struktura obsahující nejrůznější informace o zdroji signálu, případně včetně pid odesílatele. (Zahrnuje také některé informace o příčině signálu pro automatické signály jakoSIGSEGV.) - A
ucontext_t *, což souvisí s tím, které vlákno dostalo signál. Většinou ignorovatelné.
jak vynutit přijetí pouze připojení SSL ve vsftpd?
Kompilace Gcc nemůže vypočítat příponu objektových souborů:nelze kompilovat