我正在寻找一种使用服务名称而不是进程名称或PID来终止Windows服务的方法。两个显而易见的选择是pskill或taskkill,但我似乎找不到使用这些方法中的任何一种来按名称终止服务的方法。
是否可以通过服务名称来实现?如果是这样,有人能够提供一个快速的例子吗?
答案 0 :(得分:10)
您可以使用taskkill按服务名称进行过滤,并终止您正在寻找的服务。
taskkill /F /FI "SERVICES eq yourservice"
答案 1 :(得分:1)
你真的想杀死这个过程(例如,如果它被冻结)或你想停止服务吗?
如果你想杀死它,请坚持SomethingDark的回答(taskkill /F /FI "SERVICES eq yourservice"
)。
如果您想停止使用SC STOP "servicename"
。
答案 2 :(得分:1)
如果您有多个具有相同图像名称的服务,则使用“服务”过滤器可能不够。在这种情况下,您需要使用更多过滤器,如IMAGENAME,PID,STATUS或更多。
请参阅我的相关回答here
答案 3 :(得分:0)
带有taskkill循环(请小心关闭系统进程)(保存winservices.bat并以管理员身份运行)
call :winservices "service_name1"
call :winservices "service_name2"
:: funcion winservices
@echo off
goto:eof
:winservices
set winservices=%1
taskkill /f /im "%winservices%" /t
goto:eof