using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { bool b; Mutex m = new Mutex(false, "TestMutex", out b); if (b == false) { Console.WriteLine("이미 실행중인 프로그램이 있습니다."); return; } Console.WriteLine("엔터를 누르면 프로그램이 종료됩니다."); Console.ReadLine(); } } }
Mutex생성시 이름을 정하면 그 이름은 시스템에 등록 됩니다.
그러기 때문에 Mutex를 이름을 정하여 생성하고 소멸되지 않은 상태에서
같은 이름의 Mutex를 생성하게 되면 최초 생성한 것인지 아닌지를 확인할 수 있습니다.
물론 Mutex가 소멸되면 시스템에서도 해제 됩니다.