c# - 停止服务

标签 c# windows-services

我正在尝试使用我编写的控制台程序停止正在运行的服务。 这是我的代码:

ServiceController sc = new ServiceController(ServiceName, ".");
sc.Stop();

然后我等待服务状态变为已停止,但这从未发生过。 它似乎有 StopPending 并且永远不会停止。 当我检查 Services.msc 时,它被列为已停止,并且在任务管理器中,该进程已消失。

它会一直处于 Pending 状态吗?难道我做错了什么? 如果我需要在那里修改某些内容,我也有该服务的代码。

最佳答案

Am I doing something wrong?

你可以试试waiting停止服务后:

sc.Stop();
sc.WaitForStatus(ServiceControllerStatus.Stopped, TimeSpan.FromSeconds(25));

WaitForStatus 方法将等待服务达到指定的状态或指定的超时时间到期后返回。

关于c# - 停止服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10480914/

相关文章:

C#> 使用 jquery 编辑的标签忽略 HTML 标签

c# - 什么更喜欢与 asp.net 网站集成的 Windows 服务或进程来编码文件?

visual-studio-2008 - Visual Studio 2005 -> 2008/10 服务安装程序项目升级问题

c# - 如何让程序不使用100% cpu?

c# - 如何将日期转换为word格式?

c# - Blob 存储,C# 私有(private)容器,其中一些文件是公共(public)的

windows-services - 卸载后无法删除服务可执行文件

c# - 我如何知道我的 Windows 服务是否正常工作?

c# - 如何在 Xamarin 中使用数据库项填充 ListView?

c# - 无法将 IEnumerable<T> 的类型隐式转换为 IEnumerable<T>