GNU/Linux >> Znalost Linux >  >> Linux

K čemu slouží ignorování signálu `SIGCHLD` pomocí `sigaction(2)`?

Výchozí chování SIGCHLD je zahodit signál, ale podřízený proces zůstane jako zombie, dokud rodič nezavolá wait() (nebo varianta), abyste získali stav ukončení.

Ale pokud výslovně zavoláte sigaction() s dispozicí SIG_IGN , což způsobí, že se z dítěte nestane zombie - když dítě odejde, je okamžitě sklizeno. Viz https://stackoverflow.com/a/7171836/1491895

POSIX způsob, jak získat toto chování, je volání sigaction s handler = SIG_DFL a flags obsahující SA_NOCLDWAIT . Toto je v Linuxu od 2.6.


Linux
  1. Pomocí terminálu Linux můžete zjistit, jaké soubory jsou ve vašem počítači

  2. Jaké je použití $# v Bash

  3. Jak nainstalovat PhantomJS pro použití s ​​Python Selenium na Raspberry Pi?

  1. Náhodně zadaný Crontab s Just The Dash?

  2. Co když překročím limit šířky pásma, který je mi přidělen s VPS?

  3. Jaký je koncept vytvoření souboru s nula bajty v Linuxu?

  1. zavolejte funkci po dokončení programu pomocí ctrl c

  2. Jaký je správný způsob použití inotify?

  3. Jaké je použití volby -o v příkazu useradd?