Windows并不维护进程间的父子关系链,而是提供了另外一个妥协的办法 - Job对象。你可以自己维护相关的多个进程,或把多个进程放入一个Job对象中,以便统一管理。Windows task manager中"End Process" & "End Process Tree"分别对应kill掉一个单独的进程和一个进程树。关闭一个进程树,与之所有相关的进程也被关闭了;通常,Windows task manager中关闭一个父进程,其子进程不会被关闭(Windows并不维护进程间的父子关系链)。
分析进程的工具Process explorer:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
可以通过以下代码来实现关闭一个进程树: