zoukankan      html  css  js  c++  java
  • c# Windows服务管理

    .NET Framework中提供的类库可以很方便的实现对windows服务的安装、卸载、启动、停止、获取运行状态等功能。这些类都在System.ServiceProcess命名空间下。

    所以,在开始编写程序之前,需要先引用System.ServiceProcess。

    获取Windows服务列表:

    // 获取服务列表
    ServiceController[] serviceList = ServiceController.GetServices();
    // 按名称排序
    serviceList = serviceList.OrderBy(m => m.DisplayName).ToArray();
    // 遍历服务列表
    foreach (ServiceController sc in serviceList)
    {
        // 服务信息
    }

    启动服务:

    string serviceName="服务名称";
    ServiceController sc = new ServiceController(serviceName); //建立服务对象
    if ((sc.Status.Equals(ServiceControllerStatus.Stopped)) || (sc.Status.Equals(ServiceControllerStatus.StopPending)))
    {
        sc.Start();
        sc.WaitForStatus(ServiceControllerStatus.Running); //等待启动
        sc.Refresh();
    }

    停止服务:

    string serverName="服务名称";
    ServiceController sc = new ServiceController(serviceName); //建立服务对象
    if (sc.Status.Equals(ServiceControllerStatus.Running))
    {
        sc.Stop();
        sc.WaitForStatus(ServiceControllerStatus.Stopped);  //等待停止
        sc.Refresh();
    }

    重启服务:

    string serviceName = "服务名称";
    ServiceController sc = new ServiceController(serviceName); //建立服务对象
    if (sc.Status.Equals(ServiceControllerStatus.Running))
    {
        sc.Stop();
        sc.WaitForStatus(ServiceControllerStatus.Stopped);  //等待停止
        sc.Refresh();
    }
    sc.Start();
    sc.WaitForStatus(ServiceControllerStatus.Running); //等待启动
    sc.Refresh();
  • 相关阅读:
    转:10分钟掌握XML、JSON及其解析
    转:关于C++14:你需要知道的新特性
    2014/11/4~2014/12/20阶段性目标
    转:快速掌握一个语言最常用的50%
    推荐!国外程序员整理的 C++ 资源大全
    数据库面试宝典
    sqlite学习
    android
    转:c的回归-云风
    原创: 开题报告中摘要部分快速将一段文字插入到word的表格中
  • 原文地址:https://www.cnblogs.com/bossing/p/11341368.html
Copyright © 2011-2022 走看看