첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.

728x90
반응형
728x170
using System;
using System.Diagnostics;
using System.Management;

#region 자식 프로세스를 포함해 프로세스 죽이기 - KillProcessAndChildren(processID)

/// <summary>
/// 자식 프로세스를 포함해 프로세스 죽이기
/// </summary>
/// <param name="processID">프로세스 ID</param>
public void KillProcessAndChildren(int processID)
{
    if(processID == 0)
    {
        return;
    }

    ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher
    (
        $"Select * From Win32_Process Where ParentProcessID={processID}"
    );

    ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();

    foreach(ManagementObject managementObject in managementObjectCollection)
    {
        KillProcessAndChildren(Convert.ToInt32(managementObject["ProcessID"]));
    }

    try
    {
        Process process = Process.GetProcessById(processID);

        process.Kill();
    }
    catch(ArgumentException)
    {
    }
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요