要运行这个应用程序,需要一个很长的命令,所以我写了一个脚本“start_myapp.sh”,应用程序就可以正常启动。
#!/bin/sh
LOC="/temp/data/myapp"
JAVA="/bin/java"
$JAVA -Dhome=$LOC -Dsftlogging.configuration=$LOC/myapp.ini -jar $LOC/myapp.jar
如果我关闭终端,它会关闭应用程序。要让应用程序在后台运行,我需要这样做,这也可以正常工作
nohup /global/myfile/scripts/start_myapp.sh &
现在,我想把所有内容都放到脚本中。这样当我运行脚本“start_myapp.sh”时,该脚本将在后台启动应用程序。这是我的脚本,但它不起作用。
如果我运行这个命令
nohup $($JAVA -Dhome=$LOC -Dsftlogging.configuration=$LOC/myapp.ini -jar $LOC/myapp.jar) &
应用程序无法启动
如果我运行这个命令
nohup $JAVA -Dhome=$LOC -Dsftlogging.configuration=$LOC/myapp.ini -jar $LOC/myapp.jar &
应用程序启动了,但日志显示“无效命令”。因此我认为应用程序无法正常启动。
答案1
如果我运行此命令,它会运行良好。
nohup /global/myfile/scripts/start_myapp.sh &
我只是想加入禁止和&作为脚本的一部分。这样更方便。但每次我这样做都会失败。如果我在脚本中添加“nohup”和“&”,
nohup $JAVA -Dhome=$LOC -Dsftlogging.configuration=$LOC/myapp.ini -jar $LOC/myapp.jar &
现在如果我运行脚本,
/global/myfile/scripts/start_myapp.sh
应用程序启动了,但在应用程序日志中,我被“无效命令”轰炸了。它只说了这么多,非常模糊。我想这可能是语法错误。