请问我想在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 就会自动拉起来。
2 回答961 阅读✓ 已解决
3 回答950 阅读✓ 已解决
3 回答972 阅读
3 回答971 阅读
1 回答513 阅读✓ 已解决
4 回答803 阅读
4 回答968 阅读
自己直接重启自己是做不到的,毕竟死人不会说话
最简单也最不靠谱的方式之一是死前留一个命令,过几秒后启动自己
稍微靠谱一些的方法是用PM2之类的工具,检测到进程死掉之后直接重启