我在c#中编写了一个服务,它启动了在后台运行的不同的其他(子)进程。如何以优雅的方式关闭流程? Process.kill()
不是一个选项,Process.CloseMainWindow()
不起作用,因为子进程没有可见窗口(并且不应该有)。
坦克为你提供帮助。
答案 0 :(得分:0)
您可以使用WMI执行此操作(如果这是一个选项)。请看下面的示例:http://www.codeproject.com/KB/cs/EverythingInWmi02.aspx
答案 1 :(得分:0)
如果您控制其他进程,您可以使用WCF在进程之间进行通信,则子进程应检查并询问服务是否有时间结束进程,然后子进程可以关闭并进行必要的清理。这是一个简洁明了的例子
http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication