从Windows服务关闭子进程

时间:2011-07-25 07:59:44

标签: c# .net process windows-services

我在c#中编写了一个服务,它启动了在后台运行的不同的其他(子)进程。如何以优雅的方式关闭流程? Process.kill()不是一个选项,Process.CloseMainWindow()不起作用,因为子进程没有可见窗口(并且不应该有)。

坦克为你提供帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用WMI执行此操作(如果这是一个选项)。请看下面的示例:http://www.codeproject.com/KB/cs/EverythingInWmi02.aspx

答案 1 :(得分:0)

如果您控制其他进程,您可以使用WCF在进程之间进行通信,则子进程应检查并询问服务是否有时间结束进程,然后子进程可以关闭并进行必要的清理。这是一个简洁明了的例子

http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication