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