您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何从Java运行Shell脚本并使其在JVM关闭后继续运行?

如何从Java运行Shell脚本并使其在JVM关闭后继续运行?

从Java运行进程时,您正在创建一个Shell实例,然后再运行该进程。即使此进程在后台运行,shell也只会在此过程完成后退出&

要以无头模式运行进程,您需要使用nohup命令。有关详细信息,请参见此处

用法如下所示:

ProcessBuilder processBuilder = new ProcessBuilder("nohup", "sh", "restart.sh");
try {
    processBuilder.directory(new File(System.getProperty("user.dir")));
    processBuilder.redirectErrorStream(false);
    processBuilder.start();
} catch (IOException e) {
    e.printStackTrace();
}
java 2022/1/1 18:25:55 有365人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶