private void ContinueCreateProcess() { Thread.Sleep(1000); if (this != NTMinerContext.Instance.LockedMineContext) { NTMinerConsole.UserWarn("结束开始挖矿"); return; } // 执行文件书写器 this.ExecuteFileWriters(); // 分离命令名和参数 GetCmdNameAndArguments(out string kernelExeFileFullName, out string arguments); // 这是不应该发生的,如果发生很可能是填写命令的时候拼写错误了 if (!File.Exists(kernelExeFileFullName)) { NTMinerConsole.UserError(kernelExeFileFullName + "文件不存在,可能是被杀软删除导致,请退出杀毒软件重试或者QQ群联系小编,解释:大部分挖矿内核会报毒,不是开源矿工的问题也不是杀软的问题,也不是挖矿内核的问题,是挖矿这件事情的问题,可能是挖矿符合了病毒的定义。"); } if (this.KernelProcessType == KernelProcessType.Logfile) { arguments = arguments.Replace(NTKeyword.LogFileParameterName, this.LogFileFullName); } NTMinerConsole.UserOk($"\"{kernelExeFileFullName}\" {arguments}"); NTMinerConsole.UserInfo($"有请内核上场"); if (this != NTMinerContext.Instance.LockedMineContext) { NTMinerConsole.UserWarn("结束开始挖矿"); return; } NTMinerConsole.InitOnece(isForce: true, initHide: !NTMinerContext.IsUiVisible); switch (this.KernelProcessType) { case KernelProcessType.Logfile: CreateLogfileProcess(kernelExeFileFullName, arguments); break; case KernelProcessType.Pip: CreatePipProcess(kernelExeFileFullName, arguments); break; default: throw new InvalidProgramException(); } this.ProcessCreatedOn = DateTime.Now; KernelProcessDaemon(); VirtualRoot.RaiseEvent(new MineStartedEvent(this)); }