对于init脚本,其实可以参考 /etc/init.d/下面的已经有的脚步,仿照它们写一个。这里有一篇文章 描述了一些详情,本文记录一个最简单的init脚本。
基本格式是这样的:
#! /bin/sh
### BEGIN INIT INFO
# Provides: TopCaver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: TopCaver
# Description: This file starts and stops TopCaver server
#
### END INIT INFO
case "$1" in
start)
cd /opt/topcaver && nohup /opt/topcaver/topcaver-server >/dev/null 2>&1 &
;;
stop)
killall topcaver-server
;;
restart)
killall topcaver-server
cd /opt/topcaver && nohup /opt/topcaver/topcaver-server >/dev/null 2>&1 &
;;
status)
ps -ef | grep "qr-govf.com" | grep -v grep && exit 0 || exit $?
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 3
;;
esac
最前面的一段注释头是必须的,除了一些基本信息,还有指定后于哪些服务启动停止之类的,然后需要实现的方法有:start, stop, restart, force-reload, 和 status。如果偷懒的话,把start和stop实现好就可以了。
然后,复制或软连接脚本到/etc/init.d/目录下
然后给执行权限:chmod a+x xxxx.sh
更新rc.d: sudo update-rc.d xxxx.sh defaults
如果不要这个启动脚本了,可以remove:sudo update-rc.d -f xxxx.sh remove
参考
https://mobiarch.wordpress.com/2014/05/16/creating-an-init-script-in-ubuntu-14-04/ http://www.linuxdiyf.com/linux/26896.html