upstart 使用样例
upstart能把应用封装成系统服务,那么就可以使用的 启动,重起,停止,状态检查等的标准方法了。应用会像一个守护程序一样,被操作系统所管理。upstart 配置文件放在/etc/init目录下,样例如下:
#!upstart
description "cow for upstart"
author "tianzm , <tzm1921995@163.com>"
start on runlevel [2345]
stop on runlevel [06]
respawn
limit nofile 65536 65536
script
exec /data/cow -rc /root/.cow/rc -logFile /var/log/cow/cow.log -reply /var/log/cow/reply.log -request /var/log/cow/request.log
end script
就可以用很优雅的方式启动进程了
#start cow
ubuntu15+以后默认不再支持upstart,会报错如下(start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused),但有很多环境依靠upstart来管理进程如k8s,其实是有方法恢复的,找了很多天后终于找到正解:
aptitude install upstart-sysv
update-initramfs -u
reboot
注:网上说的用(**sudo dpkg-divert –local –rename –add /sbin/initctl
ln -s /bin/true /sbin/initctl**)纯属扯淡,只能让报错消失,并不能启动和停止进程