perl如何调用“ulimit -n”

时间:2013-04-03 04:27:17

标签: perl shell

  1. ulimit -n是一个内部shell,perl无法直接由system``调用。那么当我想获得ulimit值时,perl如何处理它
  2. ulimit -nsh -c ulimit -n具有不同的值。当我使用ulimit -n时,该值为1024,但当我sh -c ulimit -n时,该值为无限制。

3 个答案:

答案 0 :(得分:3)

对于问题#2,您需要引用命令:

sh -c 'ulimit -n'

你这样做的方式相当于:

sh -n -c ulimit

ulimit没有选项相当于ulimit -f

答案 1 :(得分:1)

程序不必使用ulimit来获取最大数量的打开文件描述符 - 事实上,ulimit必须从其他地方获取该值! Perl函数BSD::Resource::getrlimit只是调用名为getrlimit的C函数,并使用它来直接从操作系统中检索值,就像ulimit获取它一样。

答案 2 :(得分:0)

在这里查看您的第一个问题:

Set ulimit

第二点,

用作:

sh -c 'ulimit -n'

如果您查看手册页:

  

如果存在-c选项,则从字符串中读取命令。如果字符串后面有参数,则将它们分配给位置参数,从$ 0开始。