我听说Ubuntu新贵是实现dameonization的方法。所以我尝试了这个:
首先我在/etc/init/application.conf中添加了一个init脚本:
description "Application"
author "David Williams"
env JAVA_OPTS="-server -verbose:gc -Xms1G -Xmx4G -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC"
respawn
exec su nobody -s /bin/sh -c 'exec /usr/java/default/bin/java -jar /home/ec2-user/Application.one-jar.jar'
但后来失败了:
$ start application
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.123" (uid=500 pid=8161 comm="start)
interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply=0
destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init))
如果我没记错的话,我还需要/etc/init.d中的文件,但我发现Upstart文档有点不透明,因为我也不是系统管理员。我该怎么做才能让它像新手一样运行?
$ start application
$ stop application
$ restart application
[UPDATE]
我需要使用sudo
$ sudo start application
application start/running, process 8399
但是这个过程没有在ps aux
下列出$ sudo ps aux | grep 8339
ec2-user 8424 0.0 0.0 103244 820 pts/0 S+ 19:41 0:00 grep 8339
被困在这里。