Как написать Java-программу для увеличения лимита файлов с помощью ulimit - PullRequest
1 голос
/ 19 мая 2010

Я использую Fedora linux, где ulimit -n 10000 увеличивает лимит файлов до 10000. Я хочу добиться того же с помощью программы Java

Как написать 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();
        }
    }
}

Спасибо Сунил Кумар Саху

Ответы [ 2 ]

5 голосов
/ 19 мая 2010

со страницы руководства:

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

Ваша java-программа не является оболочкой или одним из ее дочерних процессов - это процесс-предок, и, следовательно, на нее не влияет ничего, что делает ее дочерний процесс. Чтобы получить еще один ulimit, вы должны каким-то образом умудриться вызвать ulimit перед запуском java.

0 голосов
/ 19 мая 2010

Программа не выдала ошибку.

Действительно, вы игнорируете любой результат. Вам нужно получить возвращенный Process объект и прочитать его getInputStream() и getErrorStream() (который возвращает stdout и stderr программы соответственно). Эта информация должна рассказать больше о причине проблемы, и понимание причины должно привести к ее решению.

Проверьте эту статью (все 4 страницы!), Чтобы узнать, как правильно использовать Runtime#exec():
Когда Runtime.exec () не будет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...