|
|
1
8
如果你的程序要调用
|
|
|
2
5
尝试关闭所有文件描述符听起来可能效率不高,但实际上并没有那么糟。如果系统是好的,那么查找文件描述符的系统调用实现应该相当高效。 如果只想找到关闭打开的文件描述符,可以在存在proc文件系统的系统上使用它。E、 g.在Linux上,/proc/self/fd将列出所有打开的文件描述符。遍历该目录,并关闭所有项>2,不包括表示要遍历的目录的文件描述符。 |
|
|
3
2
在支持closefrom(2)系统调用的系统上(基本上是指除Linux以外的任何unix),专门为此目的而设计。 |
|
|
4
2
在花了很多时间跟踪一个bug之后,是的,关闭所有文件描述符可能会导致问题。 问题是,有多少文件描述符? 1024过去很常见,1024不是一个完全不合理的关闭文件句柄数。因为大多数都是关闭的,所以这只是检查内存中的一个字节。 我的操作系统默认为1048576。在这个(无可否认的慢)服务器上,尝试关闭文件句柄显然要花费4.7微秒以上的时间。这导致超时(5秒)。也不知道这个数字会有多高。至少要设定一个合理的上限。 /proc/self/fd并不理想,但是像这样的错误很难找到。 |
|
|
CalculusLover · 在本例中,fork()是如何工作的? 4 年前 |
|
|
jjmerelo · 使用Proc::Async从绑定管道读取 8 年前 |
|
|
jatinBatra · 编译后生成的二进制文件会发生什么情况[关闭] 8 年前 |
|
|
Jacobo · 从Java调用具有输入和输出重定向的C可执行文件 8 年前 |
|
|
Ran · 每当我尝试执行命令行提示符时,Unity就会阻塞 8 年前 |
|
|
Hatshepsut · 使用命令行参数使用region调用子流程 8 年前 |