请问我想在java代码中重启自己程序。有方法可以吗?
自己写个工具类, 专门用于重启自己, 把 java 程序地址, 程序启动参数组织好. 主程序要退出的时候, 用ProcessBuilder
启动子进程, 子进程再启动主进程.
public class ProcessRun {
public static void main(String[] args) throws Exception {
var pb = new ProcessBuilder("java", "主类", "其它参数");
pb.start();
Thread.sleep(1000);
System.out.println("主进程退出");
}
}
一般程序自启的办法是
比较建议的是,使用 Docker 或者 Supervisor 这类工具,配置始终重启,然后在代码里面退出主进程, Docker 和 Supervisor 就会自动拉起来。
15 回答8.1k 阅读
8 回答6.3k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答3.1k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
自己直接重启自己是做不到的,毕竟死人不会说话
最简单也最不靠谱的方式之一是死前留一个命令,过几秒后启动自己
稍微靠谱一些的方法是用PM2之类的工具,检测到进程死掉之后直接重启