static Common() { try { //创建进程执行者 ProcessHelper = new ProcessHelper(ProcessOfZLMediaKit_StdOutputDataReceived, ProcessOfZLMediaKit_ErrOutputDataReceived, ProcessOfZLMediaKit_Exited); CutMergeService.start = true; if (checkConfigFile()) { if (GetConfig()) { if (!checkMediaServerBin(MediaServerBinPath)) { KillSelf("流媒体可执行文件不存在"); } if (string.IsNullOrEmpty(checkMediaServerConfig())) { KillSelf("流媒体配置文件不存在"); } //启动时先把所有mediaserver杀掉 Process[] processes = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(MediaServerBinPath)); if (processes != null && processes.Length > 0) { foreach (var process in processes) { if (process != null && process.HasExited == false) { process.Kill(); } } } processes = Process.GetProcessesByName(Path.GetFileNameWithoutExtension(FFmpegBinPath)); if (processes != null && processes.Length > 0) { foreach (var process in processes) { if (process != null && process.HasExited == false) { process.Kill(); } } } getMediaServerConfig(); } else { KillSelf("读取配置文件异常"); } } else { KillSelf("配置文件不存在"); } ErrorMessage.Init(); } catch (Exception ex) { KillSelf(ex.Message); } new Thread(new ThreadStart(delegate { try { KeepAlive(); } catch (Exception ex) { // } })).Start(); }