码迷,mamicode.com
首页 > Windows程序 > 详细

彻底卸载Windows Service

时间:2017-11-16 14:26:28      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:art   ...   logs   .net   tac   直接   bic   进程   方法   

前言,我使用Quartz.net + quartz.config + quartz_jobs.xml 写了个Windows Service,使用如下bat脚本执行服务的安装,启动,暂停,卸载

@echo off
:菜单
cls
echo ============================================
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数据抓取服务
pause
goto 菜单
:启动
echo 正在启动BI数据抓取服务...
net start BICrawlService
pause
goto 菜单
:停止
echo 正在停止BI数据抓取服务...
net stop BICrawlService
pause
goto 菜单
:卸载
echo 正在卸载BI数据抓取服务...
sc delete BICrawlService
pause
goto 菜单

安装,启动,都成功,而且服务正常运行,但是当我直接选择卸载服务后, 发现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

标签:art   ...   logs   .net   tac   直接   bic   进程   方法   

原文地址:http://www.cnblogs.com/winleechina/p/7843539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!