C# 设置Windows服务';s状态
我正在尝试创建一个运行我拥有的exe的windows服务。我一直在使用msdn 我以C# 设置Windows服务';s状态,c#,windows-services,status,C#,Windows Services,Status,我正在尝试创建一个运行我拥有的exe的windows服务。我一直在使用msdn 我以进程运行exe,该进程在OnStart中启动,在OnStop中停止。 我想知道如何更新服务状态,即状态sc query*name* 我试着按照上面指南的状态部分进行操作,但是打电话 serviceStatus.dwCurrentState = ServiceState.SERVICE_STOPPED; SetServiceStatus(this.ServiceHandle, ref serviceStatus);
进程运行exe,该进程在OnStart
中启动,在OnStop
中停止。
我想知道如何更新服务状态,即状态sc query*name*
我试着按照上面指南的状态部分进行操作,但是打电话
serviceStatus.dwCurrentState = ServiceState.SERVICE_STOPPED;
SetServiceStatus(this.ServiceHandle, ref serviceStatus);
指南中的这些功能似乎没有任何作用
如果服务运行的exe崩溃或被终止,我希望能够将服务的状态设置为停止
我想到的一个想法是在OnStart
的线程中运行一个单独的函数,该函数将使用process.WaitForExit()进行阻塞代码>。在线程停止阻塞之后,我想使用上面的函数将服务状态设置为stopped
有人知道为什么我不能设置服务状态,或者如何将服务状态链接到服务运行的exe吗?谢谢不要设置服务状态。听起来,当exe崩溃或被终止时,您应该停止服务。
要停止服务,请使用ServiceBase.stop()
这会将服务状态更改为已停止。不要设置服务状态。听起来,当exe崩溃或被终止时,您应该停止服务。
要停止服务,请使用ServiceBase.stop()
这会将服务状态更改为“已停止”