2015-03-26 3 views
-1

Я пытаюсь сделать программу, которая изменяет исходный код из другой программы, а затем останавливает программу.Как остановить запущенную программу Java?

Основная идея заключается в том, что при запуске программы «A» она будет компилировать и запускать программу «B». Когда я помещаю некоторый текстовый файл с некоторым форматом в конкретный каталог, программа «А» обнаружит это и остановит программу «В», изменит исходный код программы «В» на то, что находит в текстовом файле, а затем скомпилирует и запустит программу «B» снова.

Поведение будет в значительной степени похожим на то, что делает IDE при компиляции, запуске и остановке программ при кодировании, но это не может быть сделано пользователем, оно должно быть автоматическим. Я нашел несколько примеров того, как скомпилировать и запустить, но не о том, как остановить.

+5

Что это связано с java? –

+5

Как вы остановите программу, вероятно, зависит от того, как вы ее начали. Можете ли вы показать нам, как вы собираетесь запускать программу? –

+1

Эта ссылка может вам помочь: http://stackoverflow.com/questions/1320476/execute-another-jar-in-a-java-program –

ответ

0

Я написал нечто похожее, которое могло бы отслеживать/останавливать процесс Windows с помощью WMI (Instrumentation для управления Windows). Препятствие - это API WMI, реализуемый с C++, C# или VB, который оставляет только два пути. Сначала оберните код C++ в JNI или напишите веб-сервис C# для доступа к WMI в Java.

0

Класс ProcessBuilder может использоваться для запуска процесса и возвращает экземпляр процесса, который вы можете использовать, чтобы остановить этот процесс.

Вы также можете управлять компиляцией из программы Java с помощью javax.tools.JavaCompilerTool.

Смежные вопросы