linux 명령어 init
실행 단계 지정하기.
$ init
Linux 명령어 init
시스템 런레벨을 설정하고 시스템 초기화를 관리하는 명령어
1. 자세한 설명
init 명령어는 Linux 시스템에서 초기화 프로세스를 관리하고 시스템 런레벨을 설정하는 데 사용됩니다. 이는 시스템 부팅 프로세스에서 가장 먼저 실행되는 프로세스이며, PID 1을 가지고 있습니다. 시스템 런레벨은 시스템의 상태를 정의하며, 부팅 모드, 멀티유저 모드, 재부팅 등에 따라 설정할 수 있습니다.
2. 사용법
- 기본 런레벨 설정
init [런레벨]
시스템의 현재 런레벨을 지정된 런레벨로 변경합니다. - 런레벨 상태 확인
who -r
현재 설정된 런레벨 정보를 확인합니다. - 재부팅 명령어
init 6
시스템을 재부팅합니다.
3. 자세하게 설명
init 명령어는 다음과 같은 작업에서 유용하게 사용됩니다:
- 런레벨 관리: 시스템의 상태(예: 멀티유저, 단일 사용자, 재부팅)를 전환합니다.
- 시스템 초기화: 시스템 서비스를 시작하거나 종료하는 데 사용됩니다.
- 서버 유지보수: 단일 사용자 모드에서 시스템 진단 및 복구를 수행할 수 있습니다.
4. 자세한 명령어 사용법
다음은 init 명령어의 다양한 사용 예제입니다:
# 현재 런레벨 확인
$ who -r
# 출력 예시: run-level 5 2025-03-01 10:00
# 런레벨을 3(멀티유저 모드)로 변경
$ sudo init 3
# 런레벨을 1(단일 사용자 모드)로 변경
$ sudo init 1
# 시스템 재부팅
$ sudo init 6
# 시스템 종료
$ sudo init 0
# 런레벨 변경 후 서비스 상태 확인
$ sudo init 3 && systemctl status network.service
# 시스템 유지보수를 위해 단일 사용자 모드로 진입
$ sudo init 1
# 사용자 로그인 후 복구 작업 수행 가능
# 스크립트를 사용하여 런레벨 자동 전환
#!/bin/bash
current_level=$(who -r | awk '{print $2}')
echo "현재 런레벨: $current_level"
if [[ $current_level -ne 3 ]]; then
sudo init 3
echo "런레벨이 3으로 변경되었습니다."
fi
# 런레벨 변경 결과를 로그 파일에 저장
$ sudo init 3 > init_log.txt 2>&1
# 디버깅을 위해 init 프로세스 상태 확인
$ ps -p 1 -o comm
# 출력 예시: systemd 또는 init
# 재부팅 전에 사용자 세션 종료
$ sudo init 6 && logout
# 특정 런레벨에서만 실행되는 서비스 확인
$ ls /etc/rc3.d/
# 특정 런레벨의 프로세스 자동 시작 방지
$ mv /etc/rc3.d/S01apache /etc/rc3.d/K01apache
# SSH를 통해 원격 서버 런레벨 전환
$ ssh user@remote_server "sudo init 1"
# 시스템 재부팅 후 런레벨 확인
$ sudo init 6 && who -r
위의 예제는 init 명령어를 사용하여 시스템 초기화와 런레벨을 관리하는 다양한 방법을 보여줍니다.

No responses yet