Назад | Перейти на главную страницу

Runtime.getRuntime (). Exec (String) не может создать новый процесс | Java + LINUX

У меня возникла проблема, связанная с ошибкой Runtime.getRuntime (). Exec (String), которая создает новый процесс в нашем приложении. Хотя этот код успешно работал в системе Sun (java 1.4, tomcat 4.0), похоже, что он вообще не работает в Linux. Конфигурации в системе Linux:

Вот фрагмент кода, который запускает класс TestProcess как новый процесс:

    process = Runtime.getRuntime().
               exec (new String[] {"/bin/sh","-c",
                 "java OcwCommon.OcwProcessController" + " " +action+ " " +Id);

Переменная «процесс» не возвращает значение NULL. И никаких журналов для нового процесса не создается. Следовательно, мы предполагаем, что он не выполняется.

Я запускаю tomcat с fsuser, и я добавил переменные classpath, path и т.д. env в файл / etc / profile. Таким образом, он загружается при каждой загрузке системы.

Могут ли возникнуть проблемы с авторизацией при создании нового процесса? Хотя мы это перепроверили.

Любые указатели будут очень признательны.

Почему вы запускаете его дважды? Думаю, строчка должна быть такой

Строка [] cmd = "/ bin / sh", "- c", "java OcwCommon.OcwProcessController" + "" + действие + "" + Id;

процесс = Runtime.getRuntime (). exec (cmd);

Стюарт

Запрос обновлен

У меня возникла проблема, связанная с ошибкой Runtime.getRuntime (). Exec (String), которая создает новый процесс в нашем приложении. Хотя этот код успешно работал в системе Sun (java 1.4, tomcat 4.0), похоже, что он вообще не работает в Linux. Конфигурации в системе Linux:

  • Linux: Fedora 10, версия Java: 1.6, версия Tomcat: 5.5

Вот фрагмент кода, который запускает класс TestProcess как новый процесс:

process = Runtime.getRuntime().exec (new String[] {"/bin/sh","-c"
                "java OcwCommon.OcwProcessController" + " " +action+ " " +Id);

Переменная «процесс» не возвращает значение NULL. И никаких журналов для нового процесса не создается. Следовательно, мы предполагаем, что он не выполняется.

Я запускаю tomcat с fsuser, и я добавил переменные classpath, path и т.д. env в файл / etc / profile. Таким образом, он загружается при каждой загрузке системы.

Могут ли возникнуть проблемы с авторизацией при создании нового процесса? Хотя мы это перепроверили.

Любые указатели будут очень признательны.