Linux启动时启动java程序(EC2实例)
我的服务器程序需要在EC2实例启动时启动。目前,我正在使用以下命令从SSH启动它:Linux启动时启动java程序(EC2实例),java,linux,amazon-ec2,amazon-web-services,Java,Linux,Amazon Ec2,Amazon Web Services,我的服务器程序需要在EC2实例启动时启动。目前,我正在使用以下命令从SSH启动它: java -jar ~/DocumentManager/DocumentServer-0.2.jar 我尝试将其添加到.bashrc和/etc/rc.local文件中,但它们似乎只有在我使用ssh时才起作用 有人知道如何在计算机启动时启动我的应用程序实例吗 谢谢 Ben您可以创建如下脚本java\u server\u launch.sh: #! /usr/bin/sh PATH=/bin:/s
java -jar ~/DocumentManager/DocumentServer-0.2.jar
我尝试将其添加到.bashrc和/etc/rc.local文件中,但它们似乎只有在我使用ssh时才起作用
有人知道如何在计算机启动时启动我的应用程序实例吗
谢谢
Ben您可以创建如下脚本
java\u server\u launch.sh
:
#! /usr/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
JAVA=/usr/bin/java
MY_SERVER=/home/your_username/DocumentManager/DocumentServer-0.2.jar
USER=your_username
/bin/su - $USER -c "$JAVA -jar $MY_SERVER &"
将脚本放在/etc/init.d目录下,然后使用以下命令:
update-rc.d java_server_launch.sh defaults
有关使用手动更新rc.d
更新rc.d命令的详细信息
希望这有帮助
注意。在命令末尾添加符号“&”)。
例如,在您的例子中,java-jar~/DocumentManager/DocumentServer-0.2.jar&
这是一个老问题,但我的回答可能会对那些展望未来的人有所帮助。您也可以将程序作为服务运行,在ec2容器重新启动时自动运行。下面的链接为我工作:
也许这有帮助:嗨,我试过了,但没用。我进去看了看正在运行的进程,但它不在那里。我需要在某个地方放一个启动脚本吗?@BenFlowers:hello,是的,在/etc/init.d目录下好的,所以基本上我创建了java_server_launch.sh文件,然后运行了你说的命令。还有什么我需要做的吗?(仍然不工作)谢谢你的帮助btw@BenFlowers:我编辑了我的帖子,顺便说一句,你可以看看/etc/init.d/skeleton文件,看看你如何使用它来满足你的需要。仍然没有工作,我可以告诉你,它很接近!!因此,我的jar文件位于~/DocumentManager/DocumentServer-0.2.jar,我的名字是ubuntu@(amazoninstance)。我将script.sh文件存储在/etc/init.d中,它看起来像这样:#/usr/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin JAVA=/usr/bin/JAVA MY_SERVER=~/DocumentManager/DocumentServer-0.2.jar USER=ubuntu/bin/su-$USER-c“$JAVA-jar$MY_SERVER&”并运行update rc.d script.sh默认值有什么线索我做错了吗?