Shutdown.exe는 Windows에 기본 내장된 명령줄 도구로, 컴퓨터를 재시작하거나 종료하고, 절전 모드·최대 절전 모드로 전환하거나 사용자 세션을 종료할 수 있습니다. 이 가이드에서는 Windows에서 shutdown 명령어를 활용하는 기본적인 예제들을 소개합니다. 아래에서 설명하는 모든 명령은 Win+R 키로 실행하는 실행 대화상자, 명령 프롬프트(cmd.exe), 또는 PowerShell 어디에서나 사용할 수 있습니다.
shutdown 명령어의 기본 구문
shutdown 명령어는 다음과 같은 구문을 따릅니다:
shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/fw] [/f] [/m \\computer] [/t xxx] [/d [p|u:]xx:yy [/c "comment"]]
보시다시피 이 명령어에는 상당히 많은 옵션이 있으며, 로컬 컴퓨터뿐 아니라 원격 컴퓨터의 종료 및 재시작에도 활용할 수 있습니다.
명령 프롬프트로 Windows 종료하기
Windows 컴퓨터를 종료하려면 /s 옵션과 함께 shutdown 명령어를 실행합니다.
shutdown /s
CMD에서 Windows 재시작하기
컴퓨터를 재시작하려면 /r 매개변수를 사용합니다. 명령을 실행하면 Windows가 안전하게(정상적으로) 재시작됩니다.
shutdown /r
사용자 세션 종료(로그오프)
현재 사용자 세션을 종료(로그오프)하려면 다음 명령어를 실행합니다:
shutdown /l
이 명령은 logoff.exe 명령과 동일한 방식으로 작동합니다.
Windows 최대 절전 모드(Hibernate) 사용 방법
컴퓨터를 최대 절전 모드로 전환하려면 다음 명령어를 실행합니다:
shutdown /h
최대 절전 모드에서는 메모리의 전체 내용이 로컬 디스크의 hiberfil.sys 파일에 저장되고, 컴퓨터가 저전력 절전 상태로 전환되어 에너지 소비가 크게 줄어듭니다.
재시작/종료 전 로그온 사용자에게 알림 보내기
컴퓨터나 서버의 예정된 종료/재시작에 대해 모든 로그온 사용자에게 메시지를 전송하여 알릴 수 있습니다. 일반적으로 이 기능은 여러 사용자가 동시에 각자의 RDP 세션으로 작업하는 RDS 서버 환경에서 많이 활용됩니다.
shutdown /r /c "This server will be restarted in 60 seconds."
타이머를 이용한 지연 종료/재시작
일정 시간의 지연(타이머)을 두고 컴퓨터를 종료하거나 재시작할 수도 있습니다. /t 옵션을 사용하면 컴퓨터/서버가 종료 또는 재시작되기까지의 대기 시간(초 단위)을 지정할 수 있습니다. 이를 통해 사용자에게 열려 있는 파일을 저장하고 앱을 정상적으로 닫을 시간을 제공할 수 있으며, 알림 메시지와 함께 사용하면 더욱 편리합니다. 다음 예제에서는 10분(600초) 후 Windows가 종료된다는 사실을 사용자에게 알립니다.
shutdown /s /t 600 /c "The server will be shutdown in 10 minutes. Save your work!"
사용자에게는 예정된 종료에 대한 알림이 표시됩니다:
You're about to be signed out
지연 시간이 길 경우, 예를 들어 100분(6,000초)으로 설정하면 화면 오른쪽 하단에 팝업 창이 나타납니다: You're about to be signed out. Your Windows will shutdown in 100 minutes.
Windows 종료 또는 재시작 취소하기
Windows 종료 또는 재시작 명령을 실행하면 shutdown 도구는 기본적으로 60초간 아무 작업 없이 대기합니다. 관리자는 이 시간 동안 다음 명령을 실행하여 장치의 재시작이나 종료를 취소할 수 있습니다:
shutdown /a
종료를 취소하면 화면 오른쪽 하단에 다음과 같은 팝업 창이 표시됩니다: Logoff is cancelled. The scheduled shutdown has been cancelled.
컴퓨터 즉시 강제 재시작하기
60초를 기다리지 않고 즉시 종료하거나 재시작하려면 /t 매개변수 값으로 0을 지정합니다. 예를 들어 컴퓨터를 즉시 재시작하려면:
shutdown /r /t 0
/f 옵션도 매우 중요합니다. Windows 서버를 종료하거나 재시작할 때 거의 항상 함께 사용하는 옵션인데, 이 속성은 사용자 확인 없이 실행 중인 모든 프로그램과 프로세스를 강제로 종료합니다(RDS 서버에서 사용자들이 앱 종료를 확인해 줄 때까지 무한정 기다릴 수는 없으므로 실무에서 필수적입니다).
다음 명령은 컴퓨터를 재시작한 후, 재시작이 완료되면 등록된 앱들을 자동으로 다시 실행합니다(RegisterApplicationRestart API로 시스템에 등록된 앱이 해당됩니다).
shutdown /g
원격으로 Windows 컴퓨터 종료/재시작하는 방법
네트워크 접근 권한이 있다면 원격 컴퓨터를 재시작할 수 있습니다. 단, shutdown 명령을 실행하는 계정이 원격 컴퓨터(서버)의 로컬 관리자 그룹에 속해 있어야 합니다:
shutdown /r /t 120 /m \\192.168.1.210
위 조건을 모두 충족했는데도 명령 실행 시 "Access denied (5)" 오류가 발생한다면, 원격 컴퓨터의 LocalAccountTokenFilterPolicy 매개변수 값을 1로 변경하여 관리자 공유(C$, ADMIN$)에 대한 원격 접근을 허용해야 합니다.
reg add "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f
여러 대의 컴퓨터를 한 번에 원격 재시작해야 한다면, 컴퓨터 목록을 텍스트 파일로 저장한 뒤 간단한 PowerShell 스크립트로 모든 컴퓨터의 원격 재시작을 실행할 수 있습니다:
$sh_msg = "Your computer will be automatically restarted in 10 minutes. Save your files and close running apps"
$sh_delay = 600 # seconds
$computers = gc C:\\PS\\PC-list.txt
foreach ($comp in $computers)
{
& 'C:\\Windows\\System32\\SHUTDOWN.exe' "-m \\$comp -r -c $sh_msg -t $sh_delay"
}
shutdown 명령어의 그래픽 인터페이스(GUI)
명령 프롬프트에서 작업하는 것이 익숙하지 않은 사용자라면 shutdown.exe 명령어의 그래픽 인터페이스를 활용할 수 있습니다. 원격 종료 대화상자를 호출하려면 다음 명령을 사용합니다:
shutdown /i
이 대화상자에서는 재시작/종료할 여러 대의 컴퓨터를 추가하고, 알림 메시지를 지정하며, Windows 이벤트 로그에 기록될 종료 사유까지 설정할 수 있습니다.
바로가기를 이용해 컴퓨터 재시작하기
사용자 편의를 위해 필요한 옵션이 적용된 재시작 또는 종료 바로가기를 바탕화면에 만들어 둘 수 있습니다. 특히 RDP 세션에서 작업할 때 시작 메뉴에 재시작/종료 옵션이 없는 경우 이러한 바로가기가 유용하게 활용됩니다.
컴퓨터나 서버가 특정 시간에 자동으로 재시작/종료되기를 원한다면, 해당 매개변수와 함께 shutdown 명령을 Windows 작업 스케줄러(taskschd.msc)에 등록하면 됩니다.
예를 들어 다음 스케줄러 작업은 매일 자정 12시에 컴퓨터를 재시작합니다.
또는 PowerShell로 새 스케줄러 작업을 생성할 수도 있습니다:
$Trigger= New-ScheduledTaskTrigger -At 00:00am -Daily
$User= "NT AUTHORITY\\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "–f –r –t 120"
Register-ScheduledTask -TaskName "RebootEvertyNight_PS" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest –Force