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