如何使用另一个jar文件启动和停止jar文件?

时间:2010-08-04 18:03:23

标签: java process jar

我想使用另一个jar文件或java类来启动和停止一个jar文件。 我可以使用以下命令启动jar文件:

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

该过程已启动并正常运行。 但我没有得到如何从其他java类/ jar文件关闭该进程。 我想运行setvalue.jar文件作为后台进程。能够使用其他java文件和jar文件启动和停止它。

有人可以知道我该怎么做?

3 个答案:

答案 0 :(得分:1)

如果您只想在后台启动第二个jar文件,可以使用:

Process process=run.exec("nohup java -jar setvalue.jar &")

答案 1 :(得分:0)

您可以从创建它的类中停止该过程:

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

// Do stuff

process.destroy();

我认为尝试使用Java停止独立进程并不容易(或推荐)。但是,如果您使用的是基于UNIX的系统,则可以使用Runtime对象执行ps命令来查找您的进程,然后使用kill

答案 2 :(得分:0)

一个选项将出现在你的setvalue.jar程序中创建一个在while(true)循环中运行的线程,它一直在某个地方查找文件,每当该线程找到该文件时,它将调用System.exit来终止当前的JVM。当你想要退出该程序时,只需用另一个使用“touch”的java程序创建该文件即可在linux中创建。