Answers:
确保您使用的是14.04。Ubuntu 16.04(及更高版本)使用systemd,而不是Upstart。
Upstart脚本是一个脚本文件,位于/etc/init/,结尾为.conf。
它需要2个部分:一个指示何时启动,另一部分指示要执行的命令。
从示例开始的最简单脚本是:
# myprogram.conf
start on filesystem
exec /usr/bin/java -jar /path_to/program在下创建为root /etc/init/myprogram.conf。
如果您的脚本需要多个命令行,请使用script部分代替该exec行:
# myprogram.conf
start on filesystem
script
    /usr/bin/java -jar /path_to/program
    echo "Another command"
end script要为您的服务启用bash完成,请在/etc/init.d文件夹中添加符号链接:
sudo ln -s /etc/init/myprogram.conf /etc/init.d/myprogram然后尝试启动和停止它:
sudo service myprogram start根据新手食谱,您可以创建pre-start/ post-start和pre-stop/ post-stop要执行的命令。
此外,我读到您想检查某个进程是否正在运行。检查此问题,并可能使用该pre-start部分。
sudo chmod +x /etc/init.d/myprogram。注意:您回答的方法在Ubuntu 16.04中不起作用!
                    您需要创建一个新贵。 http://upstart.ubuntu.com/getting-started.html
与良好的SysV初始化脚本相比,暴发户(IMHO)是一场灾难。新贵是FAR付出更多的努力,而没有太多工作要做的上行空间。话虽如此,我怀疑那里会有一些暴发户后卫,这些人会带我去完成任务;-)