0

有一个 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 脚本自动返回控制台。

4

1 回答 1

0

将脚本更改为:

nohup java ServerApp &

于 2012-10-04T12:20:38.280 回答