[英]Set script to auto-start when Linux boots
我已经使用Maven appassembler插件围绕Java Spring应用程序“ myapp”生成Linux包装器脚本。
然后,我得到以下目录结构:
/home/myapp/platform/bin/myapp <== Script that I start manually
myapp脚本具有“ -rwxr-xr-x”权限,所有者设置为“ myapp:myapp”,脚本设置为以用户“ myapp”运行(在构建时通过Maven设置进行设置)。
现在从根目录发出以下命令:
$ sudo ln -s /home/myapp/platform/bin/myapp /etc/init.d/service_myapp
它创建一个具有“ lrwxrwxrwx”权限和“ root:root”作为所有者的符号链接,并指向我的myapp脚本。 我认为足以在启动时执行此脚本。 但是,它似乎没有运行。 如果我像这样手动运行它:
$ cd /etc/init.d/
$ ./service_myapp
然后系统会提示我输入密码,然后再执行。
谁能解释这里发生的事情和/或我做错了什么?
我也尝试过这个:
$ cd /etc/init.d/
$ update-rc.d service_myapp defaults 20
但是得到这个:
update-rc.d: warning: /etc/init.d/service_myapp missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/service_myapp ...
/etc/rc0.d/K20service_myapp -> ../init.d/service_myapp
update-rc.d: symlink: Permission denied
提示您输入密码,因为脚本中的某些命令可能需要root用户。
另外,在运行update-rc.d
时,您需要是root用户:
sudo update-rc.d service_myapp defaults 20
最后,您的脚本必须为SysV格式,并支持start
, stop
, restart
, force-reload
和status
命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.