всего 3 параметра)
шлом я делал что-то вроде этого
private static bool AlreadyRunning()
{
var processes = Process.GetProcesses();
var currentProc = Process.GetCurrentProcess();
logger.Info($"Current proccess: {currentProc.ProcessName}");
foreach (var process in processes)
{
if (currentProc.ProcessName == process.ProcessName && currentProc.Id != process.Id)
{
logger.Info($"Another instance of this process is already running: {process.Id}");
return true;
}
}
return false;
}
Который сработал хорошо. В новом мире ядра DotNet все имеет имя процессаdotnet
так что я могу запустить только одинdotnet
приложение за один раз! Не совсем то, что я хочу: D
Есть ли идеальный способ сделать это в DotNet? Я вижу предложенный мьютекс, но я не уверен, что понимаю возможные недостатки или состояния ошибок, возникающие в других системах, кроме компьютера с Windows.