我想使用另一个jar文件或java类来启动和停止一个jar文件。 我可以使用以下命令启动jar文件:
Runtime run=Runtime.getRuntime();
Process process=run.exec("java -jar setvalue.jar");
该过程已启动并正常运行。 但我没有得到如何从其他java类/ jar文件关闭该进程。 我想运行setvalue.jar文件作为后台进程。能够使用其他java文件和jar文件启动和停止它。
有人可以知道我该怎么做?
答案 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中创建。