공부/Linux

[Linux] 리눅스 종료 명령어 자주 쓰는 애들로 정리 (init 0 / shutdown / halt / poweroff / reboot / systemctl)

ByeongJun 2024. 5. 29. 21:52
반응형

회사에서 나 같은 신입 알려주느라 고생하시는 주임님께서 

분명 시스템 종료할 때  init 0  쓰라고 100번은 알려주셨는데 

기어코 오늘도 홀랑 까먹어버린 답답한 나를 위해 정리하는 글

 

  • 시스템 종료
    • init 0   ('init 0' 시스템 종료, 'init 6' 시스템 재부팅)
    • shutdown -h now
    • halt   ('halt -f' 시스템 강제종료)
    • poweroff   ('halt -p'와 동일)
    • reboot

 

 

 

init

init 명령어는 런레벨(Runlevel)이라고 하는 

시스템을 실행할 때 네트워크를 사용할지말지, 여러 명의 사용자가 로그인하는 걸 허용할지말지 등 

이런식으로 시스템 관리를 용이하게 하기 위한 목적인 실행 레벨이라는 것이 있다. 

 

Runlevel (설명) 특징
0 (Halt) - 시스템 중지
- 기본값으로 설정 불가
1 (Single user mode) - 단일 사용자 모드
- 로그인 과정없이 root계정으로 로그인
- 네트워크, 서버, 파일 공유 등 같은 서비스 사용 안함
2 (Multiuser, without NFS) - 네트워크를 사용하지 않는 다중 사용자 모드
- 여러 계정으로 로그인 가능
- Rullevel 3에서 네트워크를 사용하지 않는 것과 동일
3 (Full multiuser mode) - 네트워크를 지원하는 다중 사용자 모드
4 (Unused) - 사용되지 않는 Runlevel (사용자 정의 시 사용 가능)
5 (X11) - X window를 사용하는 다중 사용자모드 (그래픽 인터페이스)
6 (Reboot) - 시스템을 재기동할 때 사용
- 기본값으로 설정 불가

 

init 0 명령어는 즉시 시스템을 종료하기 때문에 사용 중인 데이터가 손실되지 않도록 

모든 작업을 저장하고 종료 전에 작업을 마치는 것이 좋다.

(보통 shutdown 명령어를 사용하여 시스템을 종료하는 것이 권장된다고 한다.)

 

 

 

shotdown 

기본적인 리눅스 시스템 종료 명령어라고 할 수 있다.

 

재부팅이나 시스템 종료를 위한 여러 옵션을 제공하는데 

옵션을 지정하지 않으면 시스템을 종료시킨다. 

 

sudo shutdown [옵션] [시간] [메시지]

># sudo shutdown -h now    // 즉시 시스템 종료(halt)
># sudo shutdown -r now    // 즉시 재부팅(roboot)
># sudo shutdown -c        // 이미 예약된 시스템 종료 취소(cancle)

 

조금 더 디테일하게 들어가자면 

즉시 종료하겠다는  sudo shutdown now 뿐만 아니라 

 

># sudo shutdown +5      // 현재 시간 기준으로부터 5분 후 종료
># sudo shutdown 18:00   // (24시간 형식) 금일 오후 6시에 종료

 

이런 식으로 시스템 종료와 재부팅을 관리하는데 유용하다. 

 

 

 

systemctl 

init 0과 마찬가지로 일하면서 마주친 명령어인데 일단 반갑네.

systemctl 명령어는 시스템 서비스 및 유닛 관리를 위한 도구라고 볼 수 있다. 

이를 통해 시스템의 다양한 서비스를 시작, 중지, 재시작, 활성화 및 비활성화 등 

시스템의 상태를 효과적으로 제어할 수 있는 명령어이다.

 

># sudo systemctl poweroff   // 시스템 종료
># sudo systemctl reboot     // 시스템 재부팅
반응형