如何在使用C#中断正在运行的进程后,在命令行窗口中继续执行其他进程
本文关键字:进程 命令行 窗口 继续 其他 执行 中断 运行 | 更新日期: 2023-09-27 17:47:46
我已经编写了C#命令窗口应用程序。我正在main()中的命令行上运行一堆进程。例如
void main()
{
process p1 = new process()
set p1 properties
p1.start()
-->p1.StandardInput.WriteLine("start /WAIT cmd.exe /c BUILD -cZP");
}
这一行将在新的命令窗口中执行一些程序。在执行最后一行时,我将使用ctrl+c中断此执行,并将控制返回到主程序的执行。
循环以输出到执行窗口。
p1.StandardInput.WriteLine("Done some action");
p1.WaitForExit();
p1.Close();
以上三行不执行。问题是p1永远不会关闭以执行程序中的以下行。
process p2 = new process()
...
p2.waitforExit()
p2.close.
对上述挑战的任何见解都将是伟大的。thx。
如果我正确理解你(我承认我可能没有理解你),我相信问题是当你按下CTRL-C进入进程p1时,你实际上正在扼杀这个进程。然后,您试图将文本发送到流程的标准输入,该流程刚刚被终止。由于进程不再可用于接受您的输入,主程序将挂起。这是我最好的猜测。