有一个linux脚本包含用于运行java应用程序的语句。 脚本(runServer.sh)就像:
java ServerApp &
由于java应用程序是一个服务器,它会一直运行直到停止。因此,在运行runServer.sh之后,它不会自动返回控制台并继续等待按回车键。
同样的问题通过Runtime api永远等待远程脚本调用。
proc = rt.exec(runScript);
exitVal = proc.waitFor();
即使从机器1通过ssh运行远程脚本,也必须使用crtl + c退出远程脚本执行。
当我将以下语句插入runServer.sh时,问题得以解决。但在这种情况下,我无法通过“echo $?> pid”
将进程ID写入文件exec > "\tmp\outlog.txt" 2>&1
有没有办法通过修改linux脚本自动返回控制台。
答案 0 :(得分:0)
将脚本更改为:
nohup java ServerApp &