всего 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.

Ответы на вопрос(2)

Ваш ответ на вопрос