c# 结束进程树实现

命名空间:   System.Management
程序集:  System.Management(System.Management.dll 中)


/// <summary>
        /// 结束进程树
        /// </summary>
        /// <param name="myProcessId">进程ID</param>
        public static void KillProcessAndChildren(int myProcessId)
        {
            ManagementObjectSearcher moSearcher = new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + myProcessId);
            ManagementObjectCollection moCollection = moSearcher.Get();
            foreach (ManagementObject mo in moCollection)
            {
                KillProcessAndChildren(Convert.ToInt32(mo["ProcessID"]));
            }
            try
            {
                Process process = Process.GetProcessById(myProcessId);
                Console.WriteLine(myProcessId);
                process.Kill();
            }
            catch (ArgumentException ae)
            {
                throw ae;
            }
        }



参考:

http://www.cnblogs.com/chengulv/archive/2012/12/29/2839303.html

https://msdn.microsoft.com/zh-cn/library/system.management.managementobjectsearcher(v=vs.110).aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值