目前,我正在运行几个脚本,这些脚本正处于实验测试阶段。不幸的是,它们有时会崩溃并生成大型的“core -perl-11-544-546-27320-1xxxxxx”perl核心转储文件。
我希望确保如果这些文件将来再次崩溃,它们不会生成perl转储文件,或者转储文件的大小是有限的。
现在有一些脚本检查Perl核心转储文件,如果它们大于设置的大小,就移除它们,但是这是一个明显的创可贴。
如何限制perl转储文件的大小,或阻止文件生成?
发布于 2013-09-05 12:42:45
为了防止在perl脚本中创建核心转储文件,可以使用(从How do I set a ulimit from inside a Perl script that applies to its children?窃取的过程):
require 'syscall.ph';
require 'sys/resource.ph';
$rstruct = pack "L!L!",0,&RLIM_INFINITY;
syscall(&SYS_setrlimit,&RLIMIT_CORE,$rstruct);若要将转储限制为特定大小,请将上面的0更改为所需的大小。
发布于 2013-10-17 13:42:09
不会的
使用BSD::Resource;setr极限(RLIMIT_CORE,0,0);
简单点?
https://stackoverflow.com/questions/13275288
复制相似问题