RunLevel

정의

  • 시스템이 시작될 때 실행되는 서비스들의 집합과 실행 우선순위를 지정한 모드
  • 유닉스 시스템에서부터 시작. 시스템 관리를 용이하게 하기 위해 만들어짐.
  • 시스템을 실행할 때 네트워크를 사용할지 말지, 여러 명의 사용자가 로그인하도록 허용할지 말지, 그래픽 인터페이스를 사용할지 말지 등을 구분해서 시스템을 구동
  • 일반적으로 리눅스 시스템은 0~6까지 총 7가지 런레벨을 가지고 있음

런레벨(RunLevel) 종류

|Runlevel|설명|특징| |—|—|—| |0|Halt|시스템 중지
기본값으로 설정 불가 | |1|Single user mode|단일 사용자 모드
로그인 과정 없이 root 계정으로 로그온
네트워크, 서버, 파일 공유 등과 같은 서비스 사용 안함
시스템 점검/복구, root 계정 패스워드 초기화 등에 사용
(즉, 시스템 관리적 목적으로 사용) | |2|Multiuser, without NFS|네트워크를 사용하지 않는 다중 사용자 모드
여러 계정으로 로그온할 수 있음
Runlevel 3에서 네트워크를 사용하지 않는 것과 동일| |3|Full multiuser mode|네트워크를 지원하는 다중 사용자 모드| |4|Unused|사용되지 않는 런레벨이지만, 사용자가 정의해서 사용 가능| |5|X11|X Window를 사용하는 다중 사용자 모드 (그래픽 인터페이스)
최근 배포판에서 기본값으로 사용됨| |6|Reboot|시스템을 재기동 할 때 사용
기본값으로 설정 불가|

프로세스 런레벨(Process Runlevel)

#### 런레벨 중에서 특정 런레벨에서 실행되는 프로세스들의 상태를 나타냄

  1. 싱글 유저 모드(Single User Mode) -> 런레벨 “S(runlevel S)”
    • 루트 계정으로만 로그인이 가능
    • 시스템 유지 보수나 복구 작업 등을 수행
  2. 멀티 유저 모드(Multi User Mode) -> 런레벨 “3(runlevel 3)” 또는 “5(runlevel 5)”가
    • 일반 사용자들이 로그인하여 시스템을 사용
    • 네트워크 서비스, 웹 서버, 데이터베이스 서버 등 다양한 서비스들이 실행 #### 프로세스 런레벨은 각각의 런레벨에서 실행되는 프로세스들의 우선순위를 관리하고, 필요에 따라 자동으로 프로세스를 시작하거나 종료하는 등의 역할을 수행

런레벨(RunLevel) 변경

init 명령어

[root@localhost ~]# init 1
서브목차