Как я могу запустить и остановить файл JAR, используя другой файл JAR? - PullRequest
2 голосов
/ 04 августа 2010

Я хочу запустить и остановить файл jar, используя другой файл jar или класс java. Я могу запустить файл JAR с помощью этой команды:

Runtime run=Runtime.getRuntime();
Process process=run.exec("java -jar setvalue.jar");

Процесс запущен и работает нормально. Но я не понимаю, как закрыть этот процесс из другого файла java class / jar. Я хочу запустить файл setvalue.jar как фоновый процесс. И могу запускать и останавливать его, используя другой файл java и файл jar.

Может кто-нибудь иметь представление, как мне это сделать?

Ответы [ 3 ]

1 голос
/ 27 ноября 2015

Если вы просто хотите запустить второй файл jar в фоновом режиме, вы можете использовать:

Process process=run.exec("nohup java -jar setvalue.jar &")
0 голосов
/ 04 августа 2010

Одна опция будет в вашей setvalue.jar. Программа создаст поток, выполняющийся в цикле while (true), который продолжает искать файл в определенном месте, и всякий раз, когда этот поток находит этот файл, он вызывает System.exit для уничтожения текущей JVM.Если вы хотите выйти из этой программы, просто создайте этот файл с помощью другой Java-программы, использующей «touch» для создания в linux.

0 голосов
/ 04 августа 2010

Вы можете остановить процесс из класса, который его создал:

Runtime run=Runtime.getRuntime();
Process process=run.exec("java -jar setvalue.jar");

// Do stuff

process.destroy();

Я не думаю, что легко (или рекомендуется) пытаться остановить независимый процесс с помощью Java.Однако, если вы используете систему на основе UNIX, вы можете использовать объект Runtime, чтобы выполнить команду ps, чтобы найти ваш процесс, а затем kill it.

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