zoukankan      html  css  js  c++  java
  • C#Windows服务:一些方法(启动、停止等)

      前面讲述了如何创建和安装服务(创建windows服务),下面把启动、停止、判断是否启动的方法也写一下。

           /// <summary>
            /// 判断是否安装了某个服务
            /// </summary>
            /// <param name="serviceName"></param>
            /// <returns></returns>
            public static bool ISWindowsServiceInstalled(string serviceName)
            {
                try
                {
                    ServiceController[] services = ServiceController.GetServices();
    
    
                    foreach (ServiceController service in services)
                    {
                        if (service.ServiceName == serviceName)
                        {
                            return true;
                        }
                    }
    
    
                    return false;
                }
                catch
                { return false; }
            }
    

      

       /// <summary>
            /// 启动某个服务
            /// </summary>
            /// <param name="serviceName"></param>
            public static void StartService(string serviceName)
            {
                try
                {
                    ServiceController[] services = ServiceController.GetServices();
    
    
                    foreach (ServiceController service in services)
                    {
                        if (service.ServiceName == serviceName)
                        {
                            service.Start();
    
    
                            service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 30));
                        }
                    }
                }
                catch { }
            }
    

      

    /// <summary>
            /// 停止某个服务
            /// </summary>
            /// <param name="serviceName"></param>
            public static void StopService(string serviceName)
            {
                try
                {
                    ServiceController[] services = ServiceController.GetServices();
    
    
                    foreach (ServiceController service in services)
                    {
                        if (service.ServiceName == serviceName)
                        {
                            service.Stop();
    
    
                            service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 30));
                        }
                    }
                }
                catch { }
            }
    

      

           /// <summary>
            /// 判断某个服务是否启动
            /// </summary>
            /// <param name="serviceName"></param>
            public static bool ISStart(string serviceName)
            {
                bool result = true;
    
    
                try
                {
                    ServiceController[] services = ServiceController.GetServices();
    
    
                    foreach (ServiceController service in services)
                    {
                        if (service.ServiceName == serviceName)
                        {
                            if ((service.Status == ServiceControllerStatus.Stopped)
                                || (service.Status == ServiceControllerStatus.StopPending))
                            {
                                result = false;
                            }
                        }
                    }
                }
                catch { }
    
    
                return result;
            }
    

      原文地址:http://blog.csdn.net/yysyangyangyangshan/article/details/12126423

  • 相关阅读:
    Java编码思想之什么是高内聚低耦合?
    hadoop中block副本的放置策略
    服务器组网的过程
    服务器的类型
    hadoop学习笔记(一):NameNade持久化和DataNode概念
    js中的局部函数和全局函数的调用
    对于javaScript中的alert和document.write()的执行顺序的记录
    常用工具api等链接
    js函数声明外面使用小括号括起来再接一个小括号的写法
    LVS的概念和重要性
  • 原文地址:https://www.cnblogs.com/CSharpLover/p/6016430.html
Copyright © 2011-2022 走看看