Здравствуйте, MaLS, Вы писали:
MLS>MLS>using System;
MLS>using System.Diagnostics;
MLS>namespace ConsoleApp6
MLS>{
MLS> class Program
MLS> {
MLS> static void Main(string[] args)
MLS> {
MLS> if (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length > 1)
MLS> {
MLS> Console.WriteLine("ALREADY RUNNING");
MLS> return;
MLS> }
MLS> Console.WriteLine("RUN");
MLS> }
MLS> }
MLS>}
MLS>
Если два процесса стартуют "одновременно", то условие(Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length > 1)может быть у обоих процессов и они оба завершатся, или наоборот, не успеют попасть в список процессов и оба откроются, вручную скорее всего это не воспроизвести, но программно вполне возможно