如何挂起一个被调用的进程(内部详细信息)



问题创建了几个进程,并使用process.start()启动它们现在我要在状态之间移动这些过程。但问题是我不能用Thread.Suspend(),我想。

那么我如何挂起这些进程然后恢复它们呢?

private void button1_Click(object sender, EventArgs e)
{
    var process1 = new Process();
    var process2 = new Process();
    var process3 = new Process();
    process1.StartInfo.FileName = "proc1";
    process2.StartInfo.FileName = "proc2";
    process3.StartInfo.FileName = "proc3";
    process1.Start();
    process2.Start();
    process3.Start();
}

这三个进程是我创建的c#程序(.exe),用于读取和写入不同的文件。

您不应该考虑暂停和恢复进程。因为这不是你应该如何管理Windows进程。理论上可以挂起所有线程,但是为什么呢?如果一个线程没有工作要做,它就不会被安排执行。同样,一个进程,如果它没有工作,它只是使用一些内存来表示状态,但它不消耗任何CPU。

重新考虑您的体系结构,以支持标准的过程通信方法或过程管理。例如,有Windows作业,WCF与进程间通信,数据库交互。

最新更新