
すべての信号がブロックされたプロセスでは、いくつの信号をキューに入れることができますか?その制限を超えて使用するとsigqueue()
どうなりますか?この信号はキューに追加されませんか?エラーが発生しますか?
答え1
ulimitを含む
$ ulimit -a |grep signals
pending signals (-i) 62384
一般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
もちろん、私のシステムから得られた62384以外の値を得ることもできます。