개발 창고/Server

[Linux] How to use "chkconfig" command

로이제로 2023. 10. 27. 22:00
반응형


How to use "chkconfig" command

CLI(Command-Line Interface) 기반의 명령형 프로그램으로 실행 레벨에 따른 서비스의 on/off 설정 목록을 출력하거나 설정합니다. Windows의 시작 프로그램 관리와 유사하며 각 Run Level에 따라 작동합니다.

chkconfig --help 결과
chkconfig 결과

 

Run Level

Run Level 의미 내용
0 Halt 시스템 종료 시 (Do NOT set initdefault to this)
1 Single user mode 싱글 유저모드. 윈도우의 안전모드와 비슷한 개념
2 Multiuser, without NFS 다중 사용자 모드. NFS 지원 안함
3 Full multiuser mode 일반적인 다중 사용자 모드. CLI(Comand-Line Interface) 환경
4 Unused 사용안함
5 X11 3번과 동일. GUI 환경
6 Reboot 재부팅 시 (Do NOT set initdefault to this)

 

chkconfing 디렉토리

/etc/rc.d

/etc/rc.d 내 파일 및 디렉토리 목록 결과

 

디렉터리 내용
init.d chkconfig 시 포함되는 모든 서비스 스크립트들이 들어있습니다.
rc0.d Run Level 0 번의 서비스 스크립트들이 들어있습니다.
rc1.d Run Level 1 번의 서비스 스크립트들이 들어있습니다.
rc2.d Run Level 2 번의 서비스 스크립트들이 들어있습니다.
rc3.d Run Level 3 번의 서비스 스크립트들이 들어있습니다.
rc4.d Run Level 4 번의 서비스 스크립트들이 들어있습니다.
rc5.d Run Level 5 번의 서비스 스크립트들이 들어있습니다.
rc6.d Run Level 6 번의 서비스 스크립트들이 들어있습니다.
# chkconfig에서 시작 서비스 확인
$> chkconfig

# chkconfig 중 network가 /etc/rc.d/init.d에 있는지 확인
$> ls -alt /etc/rc.d/init.d

# network가 run level 0에 있는지 체크
$> ls -alt /etc/rc.d/rc0.d

# network가 run level 2에 있는지 체크
$> ls -alt /etc/rc.d/rc2.d

chkconfig에 있는 network 서비스 스크립트가 들어있는지 체크

 

chkconfig 등록

# tomcat 서비스 등록
$> sudo vi /etc/rc.d/tomcat
#!/bin/bash
### BEGIN INIT INFO
# Provides:          resin
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: The Resin Java Application Server
### END INIT INFO
#
### BEGIN Fedora SysV
#
# chkconfig: 2345 90 10
# description: The Resin Java Application Server
#
### END Fedora SysV
#
# To install, configure this file as needed and copy init.resin
# to /etc/rc.d/init.d as resin.  Then use "# /sbin/chkconfig resin reset"
#

export RESIN_HOME=/usr/local/resin4

case "$1" in
  start)
        echo "Starting resin"
        $RESIN_EXE/bin/startup.sh
        ;;
  stop)
        echo "Stopping resin"
        $RESIN_EXE/bin/shutdown.sh
        ;;
  restart)
        echo "Restart resin"
        $RESIN_EXE/bin/shutdown.sh
        $RESIN_EXE/bin/startup.sh
        ;;
  *)
        echo "Usage: resin {start|stop|status|restart}"
        exit 1
esac

exit 0
# chkconfig 등록
$> chkconfig -add resin

# chkconfig 삭제
$> chkconfig -del resin
반응형