2010-05-19 47 views
1

增加文件限制我使用Fedora Linux系统,其中的ulimit -n 10000个增加文件限制高达10000我想达到同样的使用java程序如何编写Java程序中使用的ulimit

如何编写Java程序来增加文件限制使用ulimit 我已经尝试过下面的程序,但它没有效果。该程序没有给出任何错误。但因此未增加文件限制也

public class IncreaseFIle { 
    public static void main(String[] args) { 

     String command = "/bin/bash ulimit -n 10000"; 
//  String command = "pwd"; 
     try { 
      Runtime.getRuntime().exec(command); 

     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

感谢 苏尼尔·库马尔Sahoo

+0

什么是无限循环? – 2010-05-19 13:12:28

+1

下次请使用'101010'按钮正确设置代码。 – 2010-05-19 13:12:44

+0

这不是问题的原因,但你不需要成为根源吗? – 2010-05-19 13:35:11

回答

5

从手册页:

The ulimit utility shall set or report the file-size writing limit imposed on files written by the shell and its child processes.

你的java程序是不是shell或其子进程之一 - 这是祖先进程,因此不受其子进程所做的任何事情的影响。要获得另一个ulimit,你必须设法在java启动之前调用ulimit。

+0

thilx Kilian Forth – 2010-05-20 07:56:16

0

节目没有给出任何错误。

事实上,你忽略了任何结果。你需要得到返回的Process对象和的读取getInputStream()getErrorStream()(它分别返回程序的stdout和stderr)。这些信息应该告诉更多关于问题的原因,并且理解原因应该导致解决方案。

检查这篇文章(!所有4页),以了解如何使用Runtime#exec()正确:
When Runtime.exec() won't

+0

我试图打印错误,但我没有得到任何错误。我为你的回应退出了状态127 – 2010-05-20 07:57:01