ano*_*est 20 c linux file-descriptor
我想挑起一个没有文件描述符的情况.
我一直在考虑两种可能性:
你会怎么做?
Mat*_*hew 31
您可以使用ulimit限制进程在Linux下打开的文件描述符的数量.
执行ulimit -n 3运行你的C程序应该让错误打开任何文件之前,因为标准输入,标准输出,和stderr占用前3个描述符.
一个例子:
$ ulimit -n 3
$ echo > /dev/null
zsh: too many open files: /dev/null
Run Code Online (Sandbox Code Playgroud)
shell进程本身会尝试打开/ dev/null来重定向stdout,然后将其关闭,因此会出错.第一次调用fopen,open,socket等(或任何分配新文件描述符的东西)时,你的C程序将被输入完全相同的错误.