与 ulimit

与 ulimit

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

相关内容