안녕하세요.
mutex를 이용하여 프로그램 중복실행 방지를 하였습니다.
해당 코드는 아래와 같습니다.
var mutex = new Mutex(true, $"{Process.GetCurrentProcess().ProcessName}|{command}", out var isNew);
if (isNew == false)
{
Console.WriteLine($@"중복 실행");
Environment.Exit(0);
}
일반적인 상황에서는 잘 작동합니다.
그러나 해당 exe 파일을 작업스케쥴러에 등록하여 사용하고 있습니다.
작업스케쥴러는 파워쉘 스크립트를 실행하고 파워쉘 스크립트에서 위의 코드가 적용되어 있는 exe파일을 실행합니다.
문제는 작업스케쥴러를 통해 실행된 exe와 유저가 실행한 exe파일이 중복실행이 되어버리네요..
이 증상의 원인을 아시는분 계시나요?
[최초 등록일: ]
[최종 수정일: 9/5/2019]