GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est l'utilité d'ignorer le signal `SIGCHLD` avec `sigaction(2)` ?

Le comportement par défaut de SIGCHLD est de rejeter le signal, mais le processus enfant est conservé comme un zombie jusqu'à ce que le parent appelle wait() (ou une variante) pour obtenir son statut de résiliation.

Mais si vous appelez explicitement sigaction() avec la disposition SIG_IGN , cela l'empêche de transformer l'enfant en zombie - lorsque l'enfant sort, il est immédiatement récolté. Voir https://stackoverflow.com/a/7171836/1491895

La manière POSIX d'obtenir ce comportement est d'appeler sigaction avec handler = SIG_DFL et flags contenant SA_NOCLDWAIT . C'est sous Linux depuis la 2.6.


Linux
  1. Utilisez le terminal Linux pour voir quels fichiers se trouvent sur votre ordinateur

  2. Que se passe-t-il si je dépasse la limite de bande passante qui m'est assignée avec VPS ?

  3. Quelle est la bonne façon d'utiliser inotify ?

  4. Quelle commande dois-je utiliser pour voir quelle est l'empreinte digitale de la clé ECDSA de mon serveur ?

  5. Comment utiliser les expressions régulières avec la commande cp sous Linux ?

Comment utiliser la commande who sous Linux avec des exemples

Comment utiliser la commande RPM (avec exemples)

Qu'est-ce que la fonctionnalité de la communauté ONLYOFFICE et pourquoi devriez-vous l'utiliser ?

Quel caractère utiliser pour mettre un élément à la fin d'une liste alphabétique ?

À quoi sert LLVM dans les chaînes d'outils Android NDK ?

Quels numéros de signal fonctionnent avec la commande kill ?