Windows 7 關機時若有程式未回應、彈出確認對話框或需使用者互動,系統會暫停關機流程並顯示「正在關閉程式」畫面,甚至無限期等待。透過群組原則啟用自動終止功能,可讓系統強制關閉阻礙程式,實現無人值守順利關機。
gpedit.msc)gpedit.msc → Enter
電腦設定
└── 系統管理範本
└── 系統
└── 關機選項
gpupdate /force 或重新開機生效
# 路徑
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System
# 值名稱:DisableAutoEndTasks
# 類型:REG_DWORD
# 數值:1 (啟用自動終止) / 0 (停用)
# 命令列一鍵設定 (管理員 CMD/PowerShell)
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v DisableAutoEndTasks /t REG_DWORD /d 1 /f
csrss.exe (用戶模式關機程序) 會在等待逾時 (預設 5 秒,可調整 WaitToKillAppTimeout) 後,直接對阻礙程式發送 WM_CLOSE → TerminateProcess
# 應用程式關機等待時間 (預設 5000 毫秒 = 5 秒)
HKEY_CURRENT_USER\Control Panel\Desktop\WaitToKillAppTimeout
# 建議值:2000 (2 秒) - 10000 (10 秒)
# 服務關機等待時間 (預設 5000 毫秒)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WaitToKillServiceTimeout
# 建議值:10000 (10 秒) - 20000 (20 秒)
# 低電量關機強制
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System\ShutdownWithoutLogon = 1
systemctl/services.msc) 正常關機,不依賴此強制終止群組原則無內建排除清單,需透過應用程式自身處理 WM_QUERYENDSESSION 回傳 TRUE 並快速儲存,或使用第三方關機管理工具 (如 Shutter, Wise Auto Shutdown) 實現白名單機制。
「自動終止阻礙關機應用程式」是解決 Windows 7 關機卡住的利器,但屬雙面刃。生產伺服器建議啟用並配合應用層優雅關機機制;個人電腦視習慣啟用。家庭版用戶可直接匯入註冊表檔 (.reg) 實現同等效果。