작업도중에, Main Thread 하나 생성시켜 두고,
Main Thread내에서 sub thread를 여러개 수행시켰다.
그리고 Main Thread만 abort 시키면, SubThread는 계속 Alive이다.
이런경우 PGM을 종료하면 무언정지가 된다.
원칙적으로 본다면 생성한 Thread를 모두 해제시키는게 바람직하나,
이렇게 무언정지되는 경우를 대비하여 자신의 process를 얻어와 kill하는 방법을 소개한다.ㅇ
// 프로세스 열거
foreach (System.Diagnostics.Process ps in System.Diagnostics.Process.GetProcesses())
{
if (ps.ProcessName.ToString() == "WindowsFormsApplication1.vshost") // 종료할 프로세스인지
{
try
{
ps.Kill(); // 종료
}
catch (Exception ex) // 실패
{
Console.WriteLine("{0} 프로세스를 종료시키는데 {1} 에러가 발생했습니다.",
ps.ProcessName, ex.Message);
}
}
}
'프로그래밍 > .Net' 카테고리의 다른 글
Main UI Invoke 사용 (다중 thread 속성 false) (0) | 2014.01.17 |
---|---|
InvokeRequire 사용하기 (0) | 2014.01.17 |
List 사용하기 (0) | 2014.01.17 |
BitConvert big endian <-> little endian 변환하기 (0) | 2014.01.17 |
C# Block Copy (memcpy) & string byte 상호 변환 (0) | 2014.01.17 |