본문 바로가기
C#, MONO

프로그램 중복 실행 방지하기

by gigasound 2021. 8. 14.

 

 

같은 응용 프로그램을 두 개 이상 실행을 방지할 필요가  있습니다. 특히 통신 포트 등을 사용할 때는  중복 실행을 방지할 필요가 있습니다.

다음과 같이해서 현재 프로그램을 가져옵니다.

string current_prog = System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToUpper();

GetProcessesByName()을 이용해서 현재 프로그램이 몇 개 동작하는지 p에 기록합니다. 즉 p의 수량이 1이 아니면 중복으로 프로그램이 동작중임을 알 수 있습니다.

System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName(current_prog);

c#의 Prgram의 Main() 안에 다음과 같이 입력해서 중복 실행을 방지합니다.

string current_prog = System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToUpper();
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName(current_prog);
if(p.Length>1){
	return; // Main()을 종료해서 중복 실행을 방지
}
//- 아래에 실행 코드 추가

참조 

https://kdsoft-zeros.tistory.com/45?category=846221 


광고좀 꾹 눌러주시면 고맙겠습니다. 


위의 내용을 참조용으로만 사용해주세요. 무단 도용이나 무단 복제는 불허합니다.

기타 문의 사항은 gigasound@naver.com에 남겨 주시면 고맙겠습니다.

'C#, MONO' 카테고리의 다른 글

INI 파일 다루기  (0) 2021.08.14
OS 알아보기  (0) 2021.08.14
로그(Log) 를 남기고, 오래된 로그 파일 자동 삭제  (0) 2021.08.14
c#에서 ssh scp로 bash 명령어 실행 및 파일 전송  (0) 2021.08.11
c#과 Python의 연동  (1) 2021.08.11