Mit ulimit

Mit ulimit

Wie viele Signale können bei einem Prozess in die Warteschlange gestellt werden, bei dem alle Signale blockiert sind? Was passiert, wenn ich sigqueue()mehr Signale als dieses Limit verwende? Werden diese Signale nicht in die Warteschlange gestellt? Bekomme ich eine Fehlermeldung?

Antwort1

Mit ulimit

$ ulimit -a |grep signals 
  pending signals                 (-i) 62384

Mit einfachem C

$ cat<<EOF > siglimit.c
#include <stdio.h>
#include <unistd.h>
int main() { printf("%ld\n", sysconf( _SC_SIGQUEUE_MAX)); return 0; }
EOF
$ gcc siglimit.c && ./a.out
62384

Sie können natürlich auch einen anderen Wert als 62384 erhalten, den ich auf meinem System habe.

verwandte Informationen