Ben Flowers
Ben Flowers

Reputation: 1554

Linux Launch java program on startup (EC2 instance)

my server program needs to be launched on the startup of an EC2 instance. At the minute im just launching it from my SSH with the following commands:

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

I tried adding this to the .bashrc and /etc/rc.local files but they only seem to work when i ssh in.

Anyone know how to make it so an instance of my application is launched when the computer boots?

Thanks,

Ben

Upvotes: 2

Views: 6756

Answers (3)

Rahul Babu
Rahul Babu

Reputation: 790

You can also run your program as a service which automatically run on ec2 container reboot. Below link worked for me:

https://medium.com/@lizlieholleza/run-your-java-application-as-a-service-in-an-ec2-instance-amazon-linux-d7c7b4c0b2f4

Upvotes: 0

Rajesh
Rajesh

Reputation: 336

Add ampersand(symbol '&') at the end of the command. For example, in your case, java -jar ~/DocumentManager/DocumentServer-0.2.jar &

Old question, but my answer might be helpful for people who look in future.

Upvotes: 1

TOC
TOC

Reputation: 4446

It's possible you can create a script java_server_launch.sh like this:

 #! /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 &"

Put your script under /etc/init.d directory, and then use the command:

update-rc.d java_server_launch.sh defaults

more on update-rc.d command by using man update-rc.d.

Hope this help.

Regards.

Upvotes: 2

Related Questions