這是個go項目,其餘的能夠參考。linux
首先要有個腳本好比demoshell
#!/bin/bash # # etcd This shell script takes care of starting and stopping Etcd # # chkconfig: 2345 80 20 # ### BEGIN INIT INFO # Provides: etcd # Required-Start: $network $syslog # Required-Stop: $network $syslog # Default-Start: # Default-Stop: # Short-Description: start and stop etcd ### END INIT INFO ## Source function library. #. /etc/rc.d/init.d/functions export JAVA_HOME=/usr export PATH=$JAVA_HOME/bin:$PATH GOPATH=/opt/etcdrepo/etcd ETCD_HOME=$GOPATH etcd_pid() { echo `ps aux | grep "etcd\>" | grep -v grep | awk '{ print $2 }' | tail -n 1` } start(){ pid=$(etcd_pid) if [ -n "$pid" ] then echo "Etcd is already running (pid: $pid)" else #Start etcd echo "Starting etcd" ulimit -n 100000 umask 007 sudo $ETCD_HOME/bin/etcd -data-dir machines/machine1 -name machine1 & > log.txt fi return 0 } stop(){ pid=$(etcd_pid) if [ -n "$pid" ] then echo -n -e "\nkilling processes which didn't stop after $SHUTDOWN_WAIT seconds" kill -9 $pid else echo "Etcd is not running" fi return 0 } case $1 in start) start ;; stop) stop ;; restart) stop start ;; status) pid=$(etcd_pid) if [ -n "$pid" ] then echo "Etcd is running with pid: $pid" else echo "Etcd is not running" fi ;; esac exit 0
2. 將這個腳本放入 /etc/init.d下或者 /etc/rc.d/init.d下bash
3. 設置權限ide
sudo chmod 777 demo sudo chkconfig --add demo sudo chkconfig --list demo sudo service demo start 找不到服務的時候 能夠用 sudo /sbin/service demo start
4. reboot linux試下吧!ui