- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近继承了别人写的一些代码。
我发现在代码中所有打开目录以供阅读的地方都没有关闭它,因为最初的开发人员有一个语法问题——他使用的是 close
尝试关闭目录句柄而不是 closedir
的函数功能。
代码是这样的:
opendir( DIR, $dir ) or die "Cannot open $dir: $!\n";
@files = readdir( DIR );
close( DIR );
close
函数的返回的另一个优点。如果在这种情况下检查
close
的返回,它将失败并显示“错误的文件号” ”。)
closedir
,但这让我开始怀疑:既然目录句柄从未关闭,那么长时间保持目录句柄打开有什么负面影响?
$dir
对于所有实例都是相同的值。如果该程序的 10 个实例同时运行,则它们都针对同一目录持有一个打开的目录句柄达 5 分钟或更长时间。我确信 Perl 会在程序完成时自动关闭目录句柄,但最佳实践是尽快关闭它。
最佳答案
你浪费了一个目录描述符——它可能算作一个文件描述符。如果您的程序打开了足够多的目录以耗尽文件描述符,最终会伤害您。否则,它是非常无害的,虽然不太理想。它使系统(和 Perl)保持资源,否则它可能能够释放。
如果目录句柄是一个局部变量,而不是一个普通的 DIR 样式名称,那么您可能需要 Perl 清理。见 opendir其中说:
Opens a directory named EXPR for processing by readdir, telldir, seekdir, rewinddir, and closedir. Returns true if successful. DIRHANDLE may be an expression whose value can be used as an indirect dirhandle, usually the real dirhandle name. If DIRHANDLE is an undefined scalar variable (or array or hash element), the variable is assigned a reference to a new anonymous dirhandle. DIRHANDLEs have their own namespace separate from FILEHANDLEs.
关于perl - 在 Perl 中不关闭目录句柄有什么含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687198/
我设置了 Helm 柄和 Helm 柄。我有tiller-deploy。昨天,我可以定期运行了。但今天我收到此错误消息 Error: could not find a ready tiller pod
我以前已将分er安装到特定的 namespace 中。 我设置了一个环境变量来设置'tiller'命名空间-但我不记得该环境变量的名称-而且似乎无法通过网络搜索找到它。 这是什么 key ? 最佳答案
当我在 View 模型中使用如下界面时 class MainViewModel @ViewModelInject constructor( private val trafficImagesR
我正在尝试找到如何在某个 fragment 相关场景中定义 Hilt 的解决方案。我有以下设置: Activity 父 fragment 1 子 fragment 1 子 fragment 2 ...
Hilt 指出如果没有@Provides 注解就不能提供这个接口(interface): interface PlannedListRepository { fun getAllLists()
我的问题非常简单明了:两个注释/示例之间有什么区别: 例子一 @Singleton class MySingletonClass() {} @Module @InstallIn(FragmentCom
我是一名优秀的程序员,十分优秀!