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