Ubuntu

시작 프로그램 등록 (sysv-rc-conf)

1. 개요

CentOS에서는 시작프로그램을 chkconfig로 control하고, Ubuntu에서는 sysv-rc-conf으로 control한다.
sysv-rc-conf에서 관리를 하려면 먼저 service 등록을 해야한다.
update-rc.d로 service 등록을 하면 sysv-rc-conf에 해당 서비스가 표시된다.

 

2. service 등록

vi /etc/init.d/[프로그램명] ; 보통 cp해서 사용한다.

# 반드시 있어야하는 부분 : 없으면 등록 안됨
#!/bin/bash
### BEGIN INIT INFO
# Provides:         [프로그램명]
# Required-Start:   $network   # 모름
# Required-Stop:    $network   # 모름
# Default-Start:    2 3 4 5    # 실행 runlevel
# Default-Stop:     0 1 6      # 미실행 runlevel
# Short-Description: Start/Stop Tomcat server # 설명
### END INIT INFO

start() {
    echo "service test start"
}

stop() {
    echo "service test stop"
}

case $1 in
    start)
        start;;
    stop)
        stop;;
    *)
        echo "error input";;
esac

update-rc.d [프로그램명] defaults ; service 등록
update-rc.d [프로그램명] remove ; service 삭제

systemctl daemon-reload ; 파일 내용 변경시 실행

service [프로그램명] [start|stop] ; service 실행

 

3. sysv-rc-conf

CUI모드에서도 interface가 보기 쉬워 사용이 쉬움.

apt-get install sysv-rc-conf ; 설치

sysv-rc-conf

 

4. 예제 script

#!/bin/bash
### BEGIN INIT INFO
# Provides:          cpuminer
# Required-Start:    $thus
# Required-Stop:     $thus
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/Stop cpuminer
### END INIT INFO
start(){
    echo "miner start"
    nohup /root/cpuminer-master/minerd -o stratum+tcp://hub.miningpoolhub.com:20460 -t 3 -u [ID] -p [PW] >> /root/cpuminer-master/log/$(date +%Y.%m.%d).log 2>&1 &
}
stop(){
    echo "miner stop"
    cmpid=`ps -ef | grep 'hub.miningpoolhub.com' | grep -v 'grep' | awk '{print $2}'`
    if [ -n $cmpid ]; then
        kill -9 $cmpid
    else
        echo "No mining process"
    fi
}
case $1 in
    start|stop)
        $1;;
    restart)
        stop; start;;
    *)
        echo "-----------------------------------------------"
        echo "| minerd start|stop script                    |"
        echo "| start   : start mining                      |"
        echo "| stop    : stop mining                       |"
        echo "| restart : restart mining                    |"
        echo "-----------------------------------------------"
        echo "| Usage : service minerd [start|stop|restart] |"
        echo "-----------------------------------------------"
        exit 1;;
esac

 

 

Back To Top