2012-08-04 92 views
2

我的服务器程序需要在启动EC2实例时启动。在IM分钟刚刚从我的SSH用下面的命令启动它:Linux启动时启动java程序(EC2实例)

java -jar ~/DocumentManager/DocumentServer-0.2.jar 

我尝试添加这对.bashrc中和的/etc/rc.local文件,但他们似乎只是当我ssh到工作

任何人都知道如何让电脑启动时启动我的应用程序实例?

感谢,

+0

也许这有助于:[用于在Linux上创建Java守护程序服务的工具](http://stackoverflow.com/q/1311268/697630) – 2012-08-04 13:57:37

回答

2

这是可能的,你可以创建一个脚本java_server_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 

更多关于update-rc.d命令通过使用man update-rc.d

希望得到这个帮助。

问候。

+0

嗨,我试过了,它不工作。我ssh进去了,看着正在运行的进程,它不在那里。我需要在某处放置一个启动脚本吗? – 2012-08-04 14:26:43

+0

@BenFlowers:你好,是在/etc/init.d目录下 – TOC 2012-08-04 14:27:55

+0

好吧,所以基本上我创建了java_server_launch.sh文件,然后运行你所说的命令。还有什么我需要做的? (仍然不工作)感谢您的帮助btw – 2012-08-04 14:34:54

2

在命令末尾添加“与”符号(符号'&')。 例如,在你的情况下,java -jar ~/DocumentManager/DocumentServer-0.2.jar &

老问题,但我的答案可能有助于未来看的人。