这个例子展示了如何用C#编程实现启动、停止和重启Windows服务。

启动服务

下面的方法尝试通过指定的服务名称启动服务。然后等待知道服务运行或发生超时。

[C#]


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

public static void StartService(string serviceName, int timeoutMilliseconds)

{

  ServiceController service = new ServiceController(serviceName);

  try

  {

    TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

    service.Start();

    service.WaitForStatus(ServiceControllerStatus.Running, timeout);

  }

  catch

  {

    // ...

  }

}

停止服务

下面的方法尝试停止指定的服务,然后等待服务停止或发生超时。

[C#]


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

public static void StopService(string serviceName, int timeoutMilliseconds)

{

  ServiceController service = new ServiceController(serviceName);

  try

  {

    TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

    service.Stop();

    service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);

  }

  catch

  {

    // ...

  }

}

重启服务

这个方法是上两个方法的合并,尝试停止服务(并等待,直到它停止)然后启动服务(直到服务运行)。指定的超时时间是两个操作合计的超时时间。

原文地址:https://www.cnblogs.com/skyay/p/12109618.html

时间: 2024-10-03 23:04:35

这个例子展示了如何用C#编程实现启动、停止和重启Windows服务。的相关文章

有jQuery背景,该如何用AngularJS编程思想?

"我可以熟练使用jQuery进行客户端应用的开发,但是现在我希望开始使用Angular.js.哪位能描述一下这个过程中必要的模式变化吗?希望您的答案能够围绕下面这些具体的问题: 1. 我如何对客户端web应用进行不同方式的架构和设计?它们之间最大的区别是什么?(译者注:指jQuery和Angular.js) 2. 有什么是我不该做或者不该使用的:而又有什么是我应该做或者应该使用的呢? 3. 有没有一些服务端的考量/约束呢? 我在寻找的就是一个关于jQuery和Angular.js之间的详细的比较

《如何用HALCON编程》

<HALCON 快速指引>繁体中文手册 文 件 名:文件<如何用HALCON编程>1.2.3来 源:网络下载,百度云盘分享资料格式:PDF相关网站:http://www.mvtec.com 目录Part IIntroducing HALCON如何用HALCON来开发程序各种行业的应用Part IIHDevelop的使用者界面Part III介绍HDevelop Part IIntroducing HALCON通过一个互动式的工具 HDevelop 快速完成软件开发的工作. 如何用H

如何用java编程在控制台输出当前时间

如何用java编程在控制台输出当前时间 package com.chimp4.p155; import java.text.SimpleDateFormat; import java.util.Date; public class Account { /** * 日期格式化 * @author young * */ public static void main(String[] args) { // 在构造器中传入日期样式 // SimpleDateFormat sdf=new SimpleD

C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)

译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - Chapter 39 Windows Services --------------------------------

linux网络编程学习笔记之六 -----I/O多路复用服务端

多进程和多线程的目的是在于最大限度地利用CPU资源,当某个进程不需要占用太多CPU资源,而是需要I/O资源时,可以采用I/O多路复用,基本思路是让内核把进程挂起,直到有I/O事件发生时,再把控制返回给程序.这种事件驱动模型的高效之处在于,省去了进程和线程上下文切换的开销.整个程序运行在单一的进程上下文中,所有的逻辑流共享整个进程的地址空间.缺点是,编码复杂,而且随着每个逻辑流并发粒度的减小,编码复杂度会继续上升. I/O多路复用典型应用场合(摘自UNP6.1) select的模型就是这样一个实现

Windows服务编程

先说明,本文不是编写服务,而是编程控制已有的服务. 服务是一种程序类型,它在后台运行,服务程序通常可以在本地和通过网络为用户提供一些功能.服务程序可能是EXE程序,具有其单独的进程,也有可能是DLL文件依附于某个进程,更有可能是SYS文件而处于系统的内核之中. 在Windows下,可以在"我的电脑"上单击鼠标右键,然后再弹出的菜单上选择"管理",打开"计算机管理工具",单击左面树形列表的"服务和应用程序"会打开子列表,选择&q

0. iOS编程中启动画面的设置

这两天算是真郁闷,一个启动图片也要花一天的时间,虽然网上有介绍,也看了,可是就是不知道怎么处理,后来还是参考上一个程序的三张默认图片来设置的,320x480.png(Default.png),640x960.png([email protected]),640x1136.png([email protected]) iphone4/4s,iphone5/5s,iPad的三种尺寸.这三张图片本来是竖着放的,如果是横屏图像的话要按顺时针旋转90度来制作图片,(不知道是否还有更简便的方法,),把图片做

并发编程—— 任务取消 之 停止基于线程的服务

Java并发编程实践 目录 并发编程—— ConcurrentHashMap 并发编程—— 阻塞队列和生产者-消费者模式 并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier 并发编程—— Callable和Future 并发编程—— CompletionService : Executor 和 BlockingQueue 并发编程—— 任务取消 并发编程—— 任务取消 之 中断 并发编程—— 任务取消 之 停止基于线程的服务 概述 第1 部分 问题描述 第2 部分

MFC之窗口修改工具栏编程状态栏编程程序启动画面

1窗口外观的修改 (1)修改在CMainFrame::preCreateWindow(CREATESTRUCT& cs) 修改标题:cs.style&=FWS_ADDTOTITLE; cs.lpszNamw="new title"; (2)窗口创建之后修改外观 在CMainframe::Create()中调用SetWindowLong(HWND hwnd,.....)根据参数修改指定的项 所有从CWnd派生的类都是窗口类在这些窗口类中都有一个公有的成员变量保存了和着个窗