forked from sim0n00ps/OF-DL
Added check if other process is already running.
This commit is contained in:
parent
7bcf48f042
commit
b152068041
@ -1,3 +1,5 @@
|
|||||||
|
using System.Diagnostics;
|
||||||
|
using System.Reflection;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
|
||||||
AnsiConsole.Write(new FigletText("Welcome to OF-DL").Color(Color.Red));
|
AnsiConsole.Write(new FigletText("Welcome to OF-DL").Color(Color.Red));
|
||||||
@ -5,6 +7,8 @@ AnsiConsole.Write(new FigletText("Welcome to OF-DL").Color(Color.Red));
|
|||||||
ServiceCollection services = await ConfigureServices(args);
|
ServiceCollection services = await ConfigureServices(args);
|
||||||
ServiceProvider serviceProvider = services.BuildServiceProvider();
|
ServiceProvider serviceProvider = services.BuildServiceProvider();
|
||||||
|
|
||||||
|
ExitIfOtherProcess(serviceProvider);
|
||||||
|
|
||||||
Worker worker = serviceProvider.GetRequiredService<Worker>();
|
Worker worker = serviceProvider.GetRequiredService<Worker>();
|
||||||
await worker.RunAsync();
|
await worker.RunAsync();
|
||||||
|
|
||||||
@ -149,3 +153,23 @@ static bool ParseCommandlineArgs(string[] args, Config currentConfig, out Cajeta
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void ExitIfOtherProcess(ServiceProvider serviceProvider)
|
||||||
|
{
|
||||||
|
Assembly? entryAssembly = Assembly.GetEntryAssembly();
|
||||||
|
AssemblyName? entryAssemblyName = entryAssembly?.GetName();
|
||||||
|
|
||||||
|
if (entryAssemblyName?.Name is null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Process thisProcess = Process.GetCurrentProcess();
|
||||||
|
Process[] otherProcesses = [.. Process.GetProcessesByName(entryAssemblyName.Name).Where(p => p.Id != thisProcess.Id)];
|
||||||
|
|
||||||
|
if (otherProcesses.Length <= 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
AnsiConsole.Markup($"[green]Other OF DL process detected, exiting..\n[/]");
|
||||||
|
Log.Warning("Other OF DL process detected, exiting..");
|
||||||
|
|
||||||
|
serviceProvider.GetRequiredService<ExitHelper>().ExitWithCode(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user