Windows-Service
如何從腳本重新啟動 Windows 服務?
我有一個看起來像這樣的批處理腳本:
sc stop myservice sc start myservice
它會出錯,因為 sc 不會等到服務停止。如何使用腳本重新啟動服務?
發布者希望確保在嘗試重新啟動服務之前停止服務。您可以在“sc 查詢”的輸出上使用循環,執行以下操作:
:stop sc stop myservice rem cause a ~10 second sleep before checking the service state ping 127.0.0.1 -n 10 -w 1000 > nul sc query myservice | find /I "STATE" | find "STOPPED" if errorlevel 1 goto :stop goto :start :start net start | find /i "My Service">nul && goto :start sc start myservice
可能會遺漏一些東西,但我一直都在使用它:
網路停止“我的服務”
網路開始“我的服務”
或更短:
網路停止“我的服務”&& 網路開始“我的服務”