프로그램 종료시 해당 경로에 있는 프로그램 실행하면서 계속 하나의 뮤텍스를 공유해서 사용하는 코드.
using System;using System.Threading;using System.Collections.Generic;using static System.Net.Mime.MediaTypeNames;namespace csharp_study{class Program{public static Mutex mtx = null;static void Run(){Console.WriteLine("Start program");bool bRun = true;string cmd = "";while (bRun){//x 입력시 종료cmd = Console.ReadLine();if (cmd.Equals("x")){mtx.ReleaseMutex();bRun = false;return;}else{Console.WriteLine(string.Format("{0} : input value", cmd));}}}static void Main(string[] args){bool createNew = false;mtx = new Mutex(true, "podoMutex", out createNew);if (!createNew){Console.WriteLine("Fail to get a mutex");// mutex 기다림mtx.WaitOne();// 종료된 프로그램 다시 실행System.Diagnostics.Process ps = new System.Diagnostics.Process();ps.StartInfo.FileName = "csharp_study.exe";ps.StartInfo.WorkingDirectory= @"E:\csharp_project\csharp_study\csharp_study\bin\Debug\";ps.Start();}Run();}}}출처: http://podo1017.tistory.com/162 [Keep Moving]
반응형
'프로그래밍 > C#' 카테고리의 다른 글
전처리기. (0) | 2017.08.13 |
---|---|
c# ThreadPool 사용 (0) | 2017.06.26 |
C# Thread 2 (0) | 2017.06.20 |
C# Thread 클래스 (0) | 2017.06.20 |
C# 익명타입 : 클래스를 미리 정의하지 않고 사용하는 것. (0) | 2017.06.16 |
댓글