Linux で開いているファイル記述子のシステム制限を超える小さな C プログラムを作成しました。しかし、しきい値が交差していないことがわかります。
Cコードは次のとおりです。
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
int i, fd[9000];
for(i=0; i<9000; i++)
{
fd[i]=open("test.txt", O_RDWR);
}
while(1);
}
制限を超えてエラーメッセージが表示されると思います。しかし、バックグラウンドで実行しlsof | wc -l
ても増加しません。
その理由は何ですか?