我使用C#为python应用程序制作GUI。我应该在cmd窗口中运行python应用程序,因为它有输出显示给用户。
我实际上成功地使用了这个代码段:
Process runProg = new Process();
runProg.StartInfo.FileName = @"C:\Windows\System32\cmd.exe";
runProg.StartInfo.Arguments = @"/c py " +botFilePath +" --config_path=" + configFilePath + " --config_index=username_" + index.ToString();
runProg.StartInfo.CreateNoWindow = true;
runProg.Start();
pIds[index] = System.Convert.ToInt32(runProg.Id.ToString());
但是,如果我使用此代码打开3个进程,它将正常工作但过了一段时间它将关闭其中的2个并继续在其中一个上运行。所以它将关闭2厘米,并保持我打开的最后一个。
如何保持3个cmd窗口打开并运行?
你有:
runProg.StartInfo.Arguments = @"/c py " +botFilePath +" --config_path=" + configFilePath + " --config_index=username_" + index.ToString();
/ C执行命令然后终止
/ K执行命令但仍然存在
尝试使用/ K代替:
runProg.StartInfo.Arguments = @"/K py " +botFilePath +" --config_path=" + configFilePath + " --config_index=username_" + index.ToString();
使用选项/ k而不是/ c启动cmd
?
/ K执行string指定的命令但仍然存在