我想使用另一个jar文件或java类启动和停止一个jar文件。我可以使用以下命令启动jar文件:
Runtime run=Runtime.getRuntime();
Process process=run.exec("java -jar setvalue.jar");该过程已启动,并且工作正常。但是我不知道如何从其他java class / jar文件中关闭该进程。我想运行setvalue.jar文件作为一个后台process.And能够启动和停止使用其他java文件和jar文件。
有没有人知道我该怎么做?
发布于 2010-08-05 02:22:41
一种选择是在你的setvalue.jar程序中创建一个在while(true)循环中运行的线程,这个线程一直在查找某个位置的文件,只要这个线程找到那个文件,它就会调用System.exit来杀死当前的JVM。当你想要退出该程序时,只需使用另一个java程序创建该文件,在linux中使用"touch“来创建。
发布于 2010-08-05 02:19:24
您可以从创建它的类停止该进程:
Runtime run=Runtime.getRuntime();
Process process=run.exec("java -jar setvalue.jar");
// Do stuff
process.destroy();我不认为尝试使用Java停止一个独立的进程是容易的(或推荐的)。但是,如果您使用的是基于UNIX的系统,则可以使用Runtime对象执行ps命令来查找您的进程,然后对其执行kill。
发布于 2015-11-28 01:51:29
如果您只是想在后台启动第二个jar文件,您可以使用:
Process process=run.exec("nohup java -jar setvalue.jar &")https://stackoverflow.com/questions/3408377
复制相似问题