增加计划内的限制

时间:2014-04-11 20:56:16

标签: linux shell ubuntu

我在Ubuntu上有一个C程序。这个程序需要打开很多文件。所以我必须按以下方式运行它:

ulimit -n 10000; ./xyz

想知道是否有办法在程序xyz本身内做某事来增加限制。该程序以root用户身份运行,因此具有必要的权限。在C程序(源代码)中,我调用了

system("ulimit -n 10000");

但它不起作用,这并不奇怪。

2 个答案:

答案 0 :(得分:1)

请参阅getrlimit(2)

考虑使用getrlimit(2)setrlimit(2)例程。请注意,只有以超级用户权限运行的进程才能增加限制;任何用户都可以减少他们的资源限制。

答案 1 :(得分:0)

为什么不写一个包装器?

xyz_wrapper.sh

ulimit -n 10000; ./xyz

然后只需运行包装器

./xyz_wrapper.sh