红联Linux门户
Linux帮助

ubuntu的init.d管理service

发布时间:2016-11-14 10:10:54来源:linux网站作者:ptmozhu
1、在/etc/init.d/ 下以管理员权限新建kubestack启动文件脚本
#!/bin/bash
### BEGIN INIT INFO
#
# Provides:  kubestack
# Required-Start: $openvswitch-switch $neutron-openvswitch-agent  
# Required-Stop:  
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start kubestack service  
# Description: This file should be used to construct scripts to be placed in /etc/init.d.
#
### END INIT INFO
## Fill in name of program here.
PROG="kubestack"
PROG_PATH="/usr/local/bin" ## Not need, but sometimes helpful (if $PROG resides in /opt for example).
PROG_ARGS="-log_dir=/var/log/kubestack -logtostderr=true -v=4 -port=:4237" 
PID_PATH="/var/run/"
start() {
if [ -e "$PID_PATH/$PROG.pid" ]; then
## Program is running, exit with error.
echo "Error! $PROG is currently running!" 1>&2
exit 1
else
## Change from /dev/null to something like /var/log/$PROG if you want to save output.
$PROG_PATH/$PROG $PROG_ARGS 2>&1 >/var/log/$PROG &
pid=`ps -A |grep "kubelet"| awk '{print $1}'`  
echo "$PROG started"
echo $pid > "$PID_PATH/$PROG.pid"
fi
}
stop() {
echo "begin stop"
if [ -e "$PID_PATH/$PROG.pid" ]; then
## Program is running, so stop it
pid=`ps -A |grep "kubelet"| awk '{print $1}'`  
kill $pid
rm -f  "$PID_PATH/$PROG.pid"
echo "$PROG stopped"
else
## Program is not running, exit with error.
echo "Error! $PROG not started!" 1>&2
exit 1
fi
}
## Check to see if we are running as root first.
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
case "$1" in
start)
start
exit 0
;;
stop)
stop
exit 0
;;
reload|restart|force-reload)
stop
start
exit 0
;;
**)
echo "Usage: $0 {start|stop|reload}" 1>&2
exit 1
;;
esac
 
2、添加删除服务
添加:sudo update-rc.d 服务名 defaults
删除:sudo update-rc.d -f 服务名 remove
update-rc.d kubestack defaults
 
3、结果:
ubuntu的init.d管理service
 
本文永久更新地址:http://www.linuxdiyf.com/linux/25988.html