標籤:art ... logs .net tac 直接 bic 進程 方法
前言,我使用Quartz.net + quartz.config + quartz_jobs.xml 寫了個Windows Service,使用如下bat指令碼執行服務的安裝,啟動,暫停,卸載
@echo off:菜單clsecho ============================================echo BI資料抓取服務菜單echo 1.安裝 2.啟動 3.停止 4.卸載set /p 選擇=請進入命令:if %選擇%==1 goto 安裝if %選擇%==2 goto 啟動if %選擇%==3 goto 停止if %選擇%==4 goto 卸載:安裝echo 正在安裝BI資料抓取服務...sc create BICrawlService start= auto binPath= E:\XX\XXX\BIJobSchedule\BIJobSchedule\bin\Debug\BIJobSchedule.exe DisplayName= BI資料抓取服務pausegoto 菜單:啟動echo 正在啟動BI資料抓取服務...net start BICrawlServicepausegoto 菜單:停止echo 正在停止BI資料抓取服務...net stop BICrawlServicepausegoto 菜單:卸載echo 正在卸載BI資料抓取服務...sc delete BICrawlServicepausegoto 菜單
安裝,啟動,都成功,而且服務正常運行,但是當我直接選擇卸載服務後, 發現Service仍在服務列表內,而且監控顯示Service仍在正常運行,由此引出了Windows Service的徹底卸載方法
1. 根據網上資料,顯示如下命令可直接卸載服務
Sc delete [service_name] //很明顯,服務是刪除的,但是列表內還是顯示正常運行,此時對該服務做任何操作都會出現1062,1072之類的錯誤碼
2. 刪除註冊表內容
Cmd下regedit;找到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 找到你的Service服務的名字,然後把整個檔案夾刪掉,
但是我這邊沒找到對應的檔案夾
3. 尋找PID,根據PID強制殺掉進程
3.1. 關掉mmc.exe:
taskkill /F /IM mmc.exe
3.2. 尋找服務的PID:
3.3. 執行kill命令:
taskkill /PID 1104 /f
如上,我電腦上的windows 服務,算是徹底清除乾淨了
參考:
http://www.cnblogs.com/Wolfmanlq/p/5872043.html
https://stackoverflow.com/questions/305037/sc-deleteservice-failed-1072#305075
徹底卸載Windows Service