與 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 以外的值,這是我在系統上得到的值。

相關內容