모든 신호가 차단된 프로세스에서는 몇 개의 신호를 대기열에 넣을 수 있습니까? 해당 한도를 초과하여 사용하면 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 이외의 값을 얻을 수도 있습니다.