bash - 拒绝执行脚本?

时间:2016-11-03 12:04:37

标签: java bash job-scheduling at-job

让我们说我有一个脚本来启动一些java的东西

start.sh

myStuff=10.0.0.13
port=11212
servers=(10.0.0.9 10.0.0.10 10.0.0.11 10.0.0.12 10.0.0.14)
T=$1
R=$2

nohup java -jar myJar.jar -l ${myStuff} -p ${port} -t $T -r $R -m "${servers[@]/%/:11212}" &

如果我手动启动脚本

./start.sh 64 1
例如,一切都按原样运作

现在

echo "nohup ./start.sh 64 1" | at now
然而,什么也没做。

为什么?

我之前已经开始使用类似的脚本(但是没有一个叫java,但我似乎无法弄清楚它们之间的区别。

修改

嗯,并非完全没有,这项工作已经安排好并且确实从atq消失了,但罐子没有启动,而且在任何地方都没有nohup.out

编辑2

请注意

echo "nohup ./start.sh 64 1 > help &" | at now

确实创建了一个help文件(不是nohup.out文件),但它是空的。

编辑3

请注意更改start.sh,以便硬编码java二进制文件的路径:

nohup /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java -jar myJar.jar -l ${myStuff} -p ${port} -t $T -r $R  -m "${servers[@]/%/:11212}" &

也没有帮助。

编辑4

echo "nohup java -version > help &" | at now

创建一个空的help文件(但没有nohup.out)。

尽管

echo "nohup java -version > help 2>&1 &" | at now

将打印

java version "1.7.0_111"
OpenJDK Runtime Environment (IcedTea 2.6.7) (7u111-2.6.7-0ubuntu0.14.04.3)
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)

进入help文件(而不是创建nohup.out文件)。

编辑5

摆脱了nohup,即

java -jar myJar.jar ...

然后

echo "./start.sh 64 1" | at now

不会改变任何事情。

0 个答案:

没有答案