ulimit -n
是 perl 不能通过system
或``
直接调用的内部 shell。那么当我想获取 ulimit 值时 perl 如何处理它- 做
ulimit -n
并sh -c ulimit -n
拥有不同的价值观。当我使用ulimit -n
该值为 1024 但当我使用时sh -c ulimit -n
该值是无限的。
问问题
1096 次
3 回答
3
对于问题 #2,您需要引用命令:
sh -c 'ulimit -n'
你这样做的方式相当于:
sh -n -c ulimit
并且ulimit
没有选项等同于ulimit -f
.
于 2013-04-03T04:40:43.253 回答
1
程序不必使用ulimit
来获取打开文件描述符的最大数量——事实上,ulimit
必须从其他地方获取该值!令人惊讶的是,Perl 函数BSD::Resource::getrlimit
只是调用了一个名为 C 的函数,getrlimit
并使用它直接从操作系统中检索值,与ulimit
获取它的方式相同。
于 2013-04-03T04:57:35.660 回答
0
对于您的第一个问题,请在此处检查:
对于第二点,
用于:
sh -c 'ulimit -n'
如果您检查手册页:
如果存在 -c 选项,则从字符串中读取命令。如果字符串后面有参数,则将它们分配给位置参数,从 $0 开始。
于 2013-04-03T04:43:45.663 回答