C# 控制台,保持一个运行

 public static Process RunningInstance()
        {
            Process current = Process.GetCurrentProcess();
            Process[] processes = Process.GetProcessesByName(current.ProcessName);
            foreach (Process process in processes)
            {
                if (process.Id != current.Id)
                {
                    string name = process.MainModule.FileName;
                    if (name == current.MainModule.FileName)
                    {
                        return process;
                    }
                }
            }
            return null;
        }
 try
            {
                Process instance =  JustOneProcess.RunningInstance();
                if (instance == null)
                {
                    #region
                    //运行的程序
                    switch (ConfigurationManager.AppSettings["Action"].ToString())
                    {
                        case "":
                            break;
                    }
                    #endregion
                    System.Environment.Exit(0);
                }
                else
                {
                    System.Environment.Exit(0);
                }
            }
            catch (Exception ex)
            {
                //报错立即关闭,防止下次运行不了
                Logs.WriteLogs("Error", $"全局报错:{ex.Message}");
                System.Environment.Exit(0);
            }

 

posted @ 2021-03-01 18:08  魔方の成长  阅读(17)  评论(0编辑  收藏  举报