linux 명령어 init

실행 단계 지정하기.

$ init
Linux 명령어 init

Linux 명령어 init

시스템 런레벨을 설정하고 시스템 초기화를 관리하는 명령어

1. 자세한 설명

init 명령어는 Linux 시스템에서 초기화 프로세스를 관리하고 시스템 런레벨을 설정하는 데 사용됩니다. 이는 시스템 부팅 프로세스에서 가장 먼저 실행되는 프로세스이며, PID 1을 가지고 있습니다. 시스템 런레벨은 시스템의 상태를 정의하며, 부팅 모드, 멀티유저 모드, 재부팅 등에 따라 설정할 수 있습니다.

2. 사용법

  1. 기본 런레벨 설정
    init [런레벨]
    시스템의 현재 런레벨을 지정된 런레벨로 변경합니다.
  2. 런레벨 상태 확인
    who -r
    현재 설정된 런레벨 정보를 확인합니다.
  3. 재부팅 명령어
    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 명령어를 사용하여 시스템 초기화와 런레벨을 관리하는 다양한 방법을 보여줍니다.

© 2025 Linux 명령어 설명

Categories:

No responses yet

답글 남기기