2010-05-19 48 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