C# 调用CMD 启动mysql数据库 过程中,窗口被阻塞,不往下执行了 求解决

C#调用CMD启动mysql数据库过程中,窗口被阻塞,不往下执行了,但mysql服务是启动了,但启动mysql后,代码就不往下执行了,一直在哪黑窗口。以下是源码因为不能上... C# 调用CMD 启动mysql数据库 过程中,窗口被阻塞,不往下执行了,但mysql服务是启动了,但启动mysql后,代码就不往下执行了,一直在哪黑窗口。以下是源码 因为不能上代码,所以可以格式不好,如果要看代码 在图片里也有完整的代码。 //执行CMD命令 public static string ExeCommand(string cmdstr, string dir = "") { System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动 p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息 p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息 p.StartInfo.RedirectStandardError = true;//重定向标准错误输出 p.StartInfo.CreateNoWindow = true;//不显示程序窗口 p.Start();//启动程序 //执行CD命令 切换到exe文件所在的目录 if (dir != "") { p.StandardInput.WriteLine("cd " + dir ); } //向窗口发送执行启动 mysqld的命令 :mysqld start p.StandardInput.WriteLine(cmdstr); p.StandardInput.WriteLine("exit"); //获取cmd窗口的输出信息 string output = p.StandardOutput.ReadToEnd(); p.Close(); return output; } 展开
 我来答
匿名用户
推荐于2017-10-01
展开全部
p.StandardInput.WriteLine("exit")之后调用这个方法试一下p.WaitForExit()调用这个方法试一下
追问

我别外做过了,虽然也是启动服务,但我现在不在等待CMD窗口返回了...启动后直接关掉.然后在另一个线程去检测服务是否开启... 感觉这样做好多了...


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式