【问题标题】:How to continue executing other processes in command line window after breaking a running process using C#使用C#中断正在运行的进程后如何在命令行窗口中继续执行其他进程
【发布时间】:2008-10-06 05:06:04
【问题描述】:

我已经编写了 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.

对上述挑战的任何见解都会很棒。谢谢。

【问题讨论】:

  • 在 Main 方法中发布所有不起作用的代码怎么样?

标签: c# command-line


【解决方案1】:

如果我理解正确(我承认我可能不理解你),我相信问题是当你按 CTRL-C 进入进程时p1,你实际上是在杀死那个进程。然后,您尝试将文本发送到刚刚被终止的进程的标准输入。由于该进程不再可用于接受您的输入,因此主程序挂起。这是我最好的猜测。

【讨论】:

    猜你喜欢
    • 2019-08-05
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多