【发布时间】:2010-08-27 18:24:43
【问题描述】:
我有一个父程序,它在发现更新文件时调用工作控制台应用程序,该应用程序通过参数从父程序获取进程 ID,然后调用 WaitForExit()。 我想知道的是,然后重新启动该过程的最佳方法是什么,只需调用 Proc.Start() 是最好的方法吗? 例如:
static void Main(string[] args)
{
if (args.Length == 2)
{
int ParentID = Convert.ToInt16(args[1]);
Process ParentProc = Process.GetProcessById(ParentID);
ParentProc.WaitForExit();
Console.WriteLine(UpdateHandler.GetUpdates(
Path.GetDirectoryName(ParentProc.MainModule.FileName), args[0]));
ParentProc.Start();
}
else
Console.WriteLine("Error: Invalid number of arguments.");
}
或者我应该创建一个新进程来启动它(我假设使用 ParentProc.MainModule.FileName)
我也想知道是否有一种托管方式来获取父进程而不是通过参数?
谢谢:)
【问题讨论】: