GNU/Linux >> Znalost Linux >  >> Linux

signalfd() postrádá signály

Pokud proces čeká na více standardních (tj. ne v reálném čase) signálů, OS se může rozhodnout sloučit několik signálů stejného typu do jednoho.

Z POSIX:

2.4.1 Generování a doručování signálu

[...]

Pokud je generován následný výskyt čekajícího signálu, je implementací definováno, zda je signál doručen nebo přijat více než jednou za jiných okolností, než za kterých je vyžadováno řazení do fronty.

Standardní signály nejsou ve výchozím nastavení zařazeny do fronty. Jediný způsob, jak zařadit standardní signál do fronty, je vydat je pomocí sigqueue() .


Linux
  1. Co způsobuje odesílání různých signálů?

  2. Zavření standardního výstupu (>&-)?

  3. Jak zkontrolovat, jaké signály proces poslouchá?

  1. Linux Signals – příklad programu C pro zachycení signálů (SIGINT, SIGKILL, SIGSTOP atd.)

  2. Základy signálů Linuxu – část I

  3. Jak souvisí SIGINT s ostatními ukončovacími signály, jako jsou SIGTERM, SIGQUIT a SIGKILL?

  1. 5 Příklady prohlášení o případu Bash

  2. Python - Zachyťte všechny signály

  3. IPC využívající signály na linuxu