728x90
728x170
■ Process 클래스를 사용해 자식 프로세스를 포함해 프로세스를 죽이는 방법을 보여준다.
▶ 예제 코드 (C#)
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
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] Socket 클래스 : 연결시 타임아웃 처리하기 (0) | 2021.08.21 |
---|---|
[C#/COMMON] 조합 구하기 (0) | 2021.08.21 |
[C#/COMMON] 순열 구하기 (0) | 2021.08.21 |
[C#/COMMON] ResourceManager 클래스 : GetString 메소드를 사용해 리소스 문자열 구하기 (0) | 2021.08.21 |
[C#/COMMON] TimeZoneInfo 클래스 : GetUtcOffset 메소드를 사용해 시간대 오프셋 구하기 (0) | 2021.08.21 |
[C#/COMMON] Path 클래스 : GetInvalidFileNameChars 정적 메소드를 사용해 부적절한 파일명 문자 제거하기 (0) | 2021.08.21 |
[C#/COMMON] Path 클래스 : GetInvalidFileNameChars 정적 메소드를 사용해 부적절한 파일명 문자 제거하기 (0) | 2021.08.21 |
[C#/COMMON] DateTime 구조체 : AM/PM 여부 구하기 (0) | 2021.08.21 |
[C#/COMMON] Regex 클래스 : Replace 메소드를 사용해 영숫자 문자가 아닌 경우 제거하기 (0) | 2021.08.21 |
[C#/COMMON] 정수 덧셈하기 (0) | 2021.08.21 |