我知道如何防止在Windows上运行给定应用程序的多个实例:
Prevent multiple instances of a given app in .NET?
尽管此代码在使用Mono-develop的Linux下不起作用。它可以编译并运行,但是不起作用。如何在Linux中使用Mono阻止它?
这是我尝试过的方法,但是仅在Windows上的linux下,代码deos无法正常工作。
static void Main()
{
Task.Factory.StartNew(() =>
{
try
{
var p = new NamedPipeServerStream("SomeGuid", PipeDirection.In, 1);
Console.WriteLine("Waiting for connection");
p.WaitForConnection();
}
catch
{
Console.WriteLine("Error another insance already running");
Environment.Exit(1); // terminate application
}
});
Thread.Sleep(1000);
Console.WriteLine("Doing work");
// Do work....
Thread.Sleep(10000);
}
答案 0 :(得分:0)
我想出了这个答案。调用此方法并为其传递唯一ID
{{1}}