如何挂起一个被调用的进程(内部详细信息)
本文关键字:调用 内部 详细信息 进程 何挂起 挂起 一个 | 更新日期: 2023-09-27 17:52:42
问题创建了几个进程,并使用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与进程间通信,数据库交互。