对于用 c# 编写的服务。
我们将其设置为自动重启,因此如果它崩溃,它将自行重启。
这很好,但我们还想要一种强制停止服务的方法(服务可能会死锁)。这将在进行数据库备份之前每周发生一次。
如果我们使用“net stop”,服务可能不会关闭。
如果我们执行 taskkill,这将终止服务,但它会在一分钟内重新启动。
关于如何让这两个用例工作的任何想法?
我们希望在服务崩溃时自动重新启动,并且我们希望能够运行一个无人参与的进程来停止服务(无论如何),备份数据库,然后重新启动服务。
对于用 c# 编写的服务。
我们将其设置为自动重启,因此如果它崩溃,它将自行重启。
这很好,但我们还想要一种强制停止服务的方法(服务可能会死锁)。这将在进行数据库备份之前每周发生一次。
如果我们使用“net stop”,服务可能不会关闭。
如果我们执行 taskkill,这将终止服务,但它会在一分钟内重新启动。
关于如何让这两个用例工作的任何想法?
我们希望在服务崩溃时自动重新启动,并且我们希望能够运行一个无人参与的进程来停止服务(无论如何),备份数据库,然后重新启动服务。
http://www.codeproject.com/Articles/31688/Using-the-ServiceController-in-C-to-stop-and-start
您需要添加一个库,然后它只是: service.Stop() 和 service.Start()