ITEASY

리눅스서버의 안전한 종료 및 부팅하기

2007. 09. 06

시스템관리를 하다보면 여러 가지 필요(시스템 업그레이드 및 패치등)에 의해서 시스템을 종료시켜야하는 경우가 있으며 이때에는 /sbin/shutdown이란 명령어를 사용한다. 


시스템을 종료하기 위해서는 shutdown을 시스템 관리자가 내리게 되면 운영체제(정확하게는 커널)는 다소 복잡한 과정을 거쳐서 시스템을 종료하게, 이는 다중운영체제의 필수요건인 다중사용자와 멀티태스킹, 멀티스래드등의 이유로 인하여 실행되고 있는 프로세스들을 중지하고 로그인되어 있는 사용자들이 모두 로그아웃해야 하며 메모리에 있는 저장되어 있는 데이터를 디스크로 저장해야하는 것등의 작업에 많은 시간과 과정이 안전하게 이루어져야하기때문이다. 


관리자가 시스템을 종료할때의 작업순서와 shutdown을 했을 때 커널에서 내부적으로 이루어지는 작업은 다음과 같다. 



① shutdown 하기전에 sync작업을 한다. 

② shutdown을 하게되면 다음과 같은 작업이 이루어 진다. 

ⓐ 접속해 있는 사용자들에게 시스템이 종료된다는 메시지를 보낸다. 

ⓑ 새로운 사용자의 로그인을 금지한다. 

ⓒ 지정된 시간내에 종료되지 않은 프로세스를 강제종료한다. 

ⓓ 지정된 시간내에 로그아웃하지 않은 사용자를 강제종료한다. 

ⓔ 메모리 남아있는 데이터를 디스크에 저장한다.(디스크동기화) 

ⓕ 시스템에 종료에 관련된 정보를 시스템 로그파일에 기록한다. 

ⓖ mount되어 있는 디바이스들을 umount한다. 

ⓗ 시스템을 종료한다. 




● shutdown의 형식 


/sbin/shutdown [-t sec] [-rkhncfF] time [warning-message] 


-k : 실제로 종료하지 않고 모든 사용자에게 경고 메시지만을 보낸다. 

-r : 시스템 종료후에 재부팅을 한다.(reboot) 

-h : shutdown 후에 시스템을 종료해 버린다.(halt) 

-f : 재부팅할 때 fsck(file system check)를 하지 않는다. 

-c : shutdown명령어를 취소한다. 



time : 몇분후에 시스템을 종료할 것인가를 지정한다. 


warning-message : 사용자에게 보내질 종료 메시지. 



몇가지 shutdown 명령어에 대해 예를 들어 보도록 하자. 



예1) $ shutdown -h -t 5 "System down for regular maintenance" 


접속한 사용자에게 경고메시지를 보내고 5분후에 시스템을 종료한다. 



예2) $ shutdown +30 "System down for regular maintenance" 


30분후에 시스템을 종료하고 경고 메시지를 사용자의 터미널로 보낸다. 



예3) $ shutdown -h now 


당장 시스템을 종료한다. 



예4) $ shutdown -c 


shutdown 명령어를 취소한다. 




출처 한국소프트웨어진흥원

이전 글 리눅스 시스템 디렉토리 구조

2007. 09. 06

다음 글 자기자신의 정보확인하는 다양한 방법

2007. 09. 06

목록

Grow with customers

iTEASY의 고객센터는 고객의 문제를 쉽고 빠르게 해결합니다.
각 분야의 IT 비즈니스 전문가들로 구성되어 365일 24시간 고객 문의를 기다리고있습니다.
온라인 문의 +
평일 9:00~18:00 / IDC 24h 긴급 장애처리
FAX02-6264-8321
  • 내선 1 서버 / IDC

  • 내선 2 클라우드

  • 내선 3 관리대행 / ITO

  • 내선 4 도메인

  • 내선 5 보안 서비스 문의

  • 내선 6 문자 / 카카오비즈메시지

  • 내선 7 Microsoft365

  • 내선 8 마케팅/서비스 제휴

  • 내선 9 홈페이지 제작

  • 내선 0 기타서비스

  • 내선 11 긴급 장애

이미지 이미지