【发布时间】:2019-11-21 17:57:25
【问题描述】:
我在远程 linux 机器上有一个 shell 脚本,其中包含以下内容:
#!/bin/sh
for i in $(seq 1 10);
do
echo "CREATE TABLE ben$i (id NUMBER NOT NULL);
! sleep 30
select * from ben$i;
! sleep 30
DROP TABLE ben$i;" | sqlplus system/password &
done
wait
这个脚本的名字是ben.sh。
在 java 中,我想执行这个脚本并让脚本在后台执行它的工作。
我有一个成功执行脚本的命令:
sshshell.execute("su - oracle -c './ben.sh'");
我希望脚本仍然在远程 linux 机器上运行,并且我想在执行上述命令后立即关闭 ssh 连接,而不干扰脚本。
我想如果我在这个命令的末尾放一个 & 像这样:
sshshell.execute("su - oracle -c './ben.sh' &");
但java程序仍然卡住并等待脚本完成
非常重要的说明:我不想使用线程或任何其他 ssh 连接。
我有什么选择?
【问题讨论】:
标签: java linux bash ssh connection