리눅스 전원 관리 명령
명령 | 과거 명령 | 설명 |
---|---|---|
systemctl halt |
halt |
시스템을 종료한다. 전원은 끄지 않고, 하드웨어가 멈춘 상태로 유지됨. 데이터 보존되지 않으며, 다시 시작하면 새로 부팅됨 |
systemctl poweroff |
poweroff |
시스템을 종료하고 전원도 끔 |
systemctl reboot |
reboot |
시스템을 종료한 후 즉시 재부팅 |
systemctl suspend |
pm-suspend |
시스템을 일시 중단 현재 메모리 상태를 RAM에 저장하고, 전력을 최소화해 절전 모드로 전환 |
systemctl hibernate |
pm-hibernate |
시스템을 최대 절전 모드로 전환 현재 메모리 상태를 디스크에 저장하고, 시스템을 완전히 종료 부팅 시 상태가 복원된다. |
systemctl hybrid-sleep |
메모리 외에 디스크에도 시스템 상태를 저장함 (메모리 + 디스크에 저장) suspend와 hibernate를 동시에 진행하는 것 |
halt : 정지
suspend : 유예하다
hibernate : 동면하다
과거 명령들을 사용할 수 있고, 특히 완전 종료를 위해 shutdown
명령 또한 사용 가능하나, 가급적 systemctl 명령을 사용하는 것이 권장됨.
리눅스 시스템의 종료
1. shutdown 명령
명령어 설명
시간을 정해 시스템을 안전하게 종료하는 명령
명령어 사용법
1
shutdown [options] time [message]
옵션
옵션 | full name | 설명 |
---|---|---|
-r | –reboot | 재부팅 |
-H | –halt | 시스템 종료. 전원은 꺼지지 않을 수 있음 |
-P | –poweroff | 시스템 종료 및 전원 끔 |
-c | –cancel | 예약된 셧다운 취소 |
-k | –kickoff | 실제 셧다운을 하는 것처럼 경고 메시지만 보냄 실제 종료되지는 않음 |
-t | –time | 시스템 종료 시간을 초 단위로 설정 |
time 인수
사용방법 | 예시 |
---|---|
절대시간 형식 | shutdown -H 23:15 23시 15분에 종료 |
몇분 후 | shutdown -r + 5 5분 뒤에 재부팅 |
즉시 종료 | shutdown -h now 즉시 종료 |
2. 시스템의 종료 절차
시스템 종료 명령어가 실행되면, 실제로는 systemd 프로세스를 통해 셧다운이 처리된다.
순서 | 종료 절차 |
---|---|
1 | systemd 프로세스는 모든 프로세스에게 종료를 알림 |
2 | 각 프로세스가 스스로 종료하도록 TERM 시그널을 보냄 |
3 | 종료하지 않은 프로세스에게 강제 종료 KILL 시그널을 보냄 |
4 | 파일 시스템을 잠그고, 루트 파일 시스템을 제외한 모든 파일 시스템을 언마운트 |
5 | 루트 파일 시스템을 읽기 전용으로 다시 마운트 |
6 | sync 프로그램을 사용해 버퍼 데이터를 파일 시스템에 기록 |
7 | 시스템 호출을 통해 커널에 재부팅 또는 종료를 요청함 |