• ServiceController控制windows服务


    1、引用System.ServiceProcess.dll

    2、引用System.ServiceProcess命名空间

    using System.ServiceProcess;

    3、.声明ServiceController变量

    private ServiceController _controller;

    4、假设服务名为ServicesName, 编写开始服务,停止服务,重启服务的代码如下

    A:开始服务

    1 private void StartService()
    2 {
    3 this._controller = new ServiceController("ServicesName");
    4 try
    5 {
    6 if ((_controller.Status.Equals(ServiceControllerStatus.Stopped)) ||
    7 (_controller.Status.Equals(ServiceControllerStatus.StopPending)))
    8 {
    9 _controller.Start();
    10 }
    11 else
    12 {
    13 _controller.Stop();
    14 }
    15 }
    16 finally
    17 {
    18 this._controller.Refresh();
    19 this._controller.Close();
    20 }
    21 }

    B:停止服务

    1 private void StopService()
    2 {
    3 this._controller = new ServiceController("ServicesName");
    4 try
    5 {
    6 this._controller.Stop();
    7 this._controller.WaitForStatus(ServiceControllerStatus.Stopped);
    8 }
    9 finally
    10 {
    11 this._controller.Refresh();
    12 this._controller.Close();
    13 }
    14 }

    C:重启服务

    1 private void ResetService()
    2 {
    3 this._controller = new ServiceController("ServicesName");
    4 try
    5 {
    6 this._controller.Stop();
    7 this._controller.WaitForStatus(ServiceControllerStatus.Stopped);
    8 this._controller.Start();
    9 this._controller.WaitForStatus(ServiceControllerStatus.Running);
    10 }
    11 finally
    12 {
    13 this._controller.Refresh();
    14 this._controller.Close();
    15 }
    16 }

    D:若已停止则启动反则停止

    1 private void SStopService()
    2 {
    3 this._controller = new ServiceController("ServicesName");
    4 try
    5 {
    6 this._controller.Stop();
    7 this._controller.WaitForStatus(ServiceControllerStatus.Stopped);
    8 this._controller.Start();
    9 this._controller.WaitForStatus(ServiceControllerStatus.Running);
    10 }
    11 finally
    12 {
    13 this._controller.Refresh();
    14 this._controller.Close();
    15 }
    16
    17 }
  • 相关阅读:
    【转】总体样本方差的无偏估计样本方差为什么除以n-1
    【转】用PyQt5写的第一个程序
    向量的协方差计算
    数据挖掘模型
    数据挖掘方法论及实施步骤
    Hadoop MapReduce八大步骤以及Yarn工作原理详解
    传统数据仓库架构与Hadoop的区别
    数据库优化方案整理
    数仓interview总结
    十四个值得推荐的个人提升方法
  • 原文地址:https://www.cnblogs.com/easypass/p/2084769.html
Copyright © 2020-2023  润新知