Windows services 停止选项灰显时停止windows服务

Windows services 停止选项灰显时停止windows服务,windows-services,Windows Services,我已经创建了一个windows服务,在“控制面板”->“管理工具”->“服务”中的服务中,其状态为“启动” 我想停止此服务,但“停止”选项已灰显。 如何启动/停止服务 每次我重新启动时,它都会停止,我可以删除它。如果您运行以下命令: sc queryex <service name> sc queryex 其中是服务的名称,而不是显示名称(后台处理程序,而不是打印后台处理程序),在cmd提示符下,它将返回服务正在运行的进程的PID。拿着那个PID跑吧 taskkill /F /P

我已经创建了一个windows服务,在“控制面板”->“管理工具”->“服务”中的服务中,其状态为“启动”

我想停止此服务,但“停止”选项已灰显。 如何启动/停止服务


每次我重新启动时,它都会停止,我可以删除它。

如果您运行以下命令:

sc queryex <service name>
sc queryex
其中是服务的名称,而不是显示名称(后台处理程序,而不是打印后台处理程序),在cmd提示符下,它将返回服务正在运行的进程的PID。拿着那个PID跑吧

taskkill /F /PID <Service PID>
taskkill/F/PID

强制PID停止。有时,如果进程在停止GUI时挂起,您将无法对服务执行任何操作。

如果停止选项变灰,则您的服务在上次调用时未指示它正在接受
服务\u接受\u停止。如果您使用的是.NET,则需要在
ServiceBase
中设置属性


当然,如果您正在接受停止请求,那么您最好确保您的服务能够安全地处理这些请求,尤其是当您的服务仍在通过其启动代码进行处理时。

使用任务管理器查找服务,然后使用结束任务将其终止。 我总是这样


如果您自己做了服务,请考虑从OnStand事件中删除长时间运行的操作,通常这是导致服务不响应的原因。

< P>您可以在一行(对CI环境有用):

过滤器->服务->服务名称等于服务名称->强制


来源:

使用管理员权限打开命令提示符,然后在那里键入以下命令

(a)

它显示所有可用服务的列表。在那里,您可以看到要停止/启动/重新启动的服务。记住要强制停止的服务的PID值

b) 现在输入

taskkill /f /PID [PID value of the service] 
然后按回车键。一旦成功,你就会得到信息 “成功:具有PID的进程已终止”

Ex : taskkill /f /PID 5088

这将强制终止冻结的服务。您现在可以返回服务器管理器并重新启动服务。

我通过以下步骤解决了问题:

  • 从命令/Windows运行打开“services.msc”

  • 查找服务(已灰显)

  • 双击该服务并转到“恢复”选项卡

  • 确保

    • 第一个故障动作被选择为“不采取行动”
    • 第二个故障动作被选择为“不采取行动”
    • 后续故障操作选择为“不采取操作”
    然后按OK


  • 现在,该服务将不会尝试重新启动,您可以从服务列表中删除灰显的服务(即灰显的服务将消失)。

    如Aaron所述,某些服务在开发时不接受
    service\u accept\u STOP
    消息。这是硬编码到可执行文件中的。时期解决方法是不启动它,并且由于无法更改其属性,因此强制执行以下操作:

  • 引导到安全模式(Windows 10用户可能需要msconfig>Boot>safe Boot)
  • 将注册表编辑到HKLM>System>ControlSet001>Services中
  • 找到您的服务条目
  • 将“启动”键更改为3(手动启动)或4(禁用)
  • 如果无法更改条目,请右键单击左侧窗格中的服务名称,选择“权限”,检查“所有人”是否具有完全访问权限,然后重试步骤4

    别忘了再次从msconfig禁用安全引导,然后重新启动

    sc queryex
    
    sc queryex <service name>
    taskkill /F /PID <Service PID>
    
    taskkill/F/PID
    例如


    这里有一个简单的方法,可以终止一个不能直接停止的服务,如果该服务有依赖项

  • 打开服务的属性窗口并单击依赖项选项卡
  • 看看它需要运行什么
  • 如果可能,请停止其中一个,确保它不会使Windows崩溃

  • 例如,停止“网络存储接口服务”(即nsi)将杀死一个无法验证的dnscache服务。它还将破坏所有网络功能&可能需要重新启动Windows才能恢复这些功能。我不得不这样做来编辑主机文件,有时dnscache拒绝放手&如果不先杀死主机,您无法更新主机,但您无法直接进行更新。

    您希望实现什么?是否要停止或删除它?删除它,但删除前必须停止。当前状态为正在启动。您是否尝试过使用任务管理器杀死运行服务的exe?@Chris:我没有看到它们列在任务管理器下。可能是因为服务还没有启动?Windows 2000不支持
    sc..
    ,所以我在该服务的属性
    路径中找到了进程,并在taskmgr中将其杀死。@DrPppr242,你确定这是一个安全的选项吗?我唯一的办法就是以管理员的身份运行命令提示符。这对该死的百度Hips服务不起作用。甚至以管理员身份运行cmd。有时我觉得我不是这个糟糕操作系统的主人…我试着以管理员的身份运行CMD。我得到以下错误:无法使用PID XXXX停止进程。原因:访问被拒绝。任务管理器中的结束任务不会停止配置为“不可停止”的服务,如windows defender或来自第三方的某些其他安全服务。您只会收到拒绝访问的消息。回答很好。它起作用了,因为服务不允许我删除它,即使有PID。编辑开始键值并重新启动后,我能够删除该服务。谢谢。如果不允许我更改权限,我该怎么办?即使以管理员身份打开RegEdit,我也无法将HKLM:\SYSTEM\CurrentControlSet\Services\WinDefend中的start关键字编辑为3或4。在RegEdit中,右键单击左侧窗格中的密钥名称,然后选择“权限”。您应该能够升级权限
    
    Ex : taskkill /f /PID 5088
    
    sc queryex <service name>
    taskkill /F /PID <Service PID>