在所有信号都被阻塞的进程上可以有多少个信号排队?如果我使用的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 以外的值,这是我在系统上得到的值。