我有一个父程序调用工作控制台应用程序,当发现更新并更新文件时,此应用程序通过参数从父进程获取进程ID,然后调用WaitForExit()。 我想知道什么是最好的方式然后重新启动该过程,只需调用Proc.Start()是做到这一点的最佳方式? 例如:获取父进程/重新启动进程C#
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)
我也想知道是否有一个管理的方式来获得父进程不通过参数?
谢谢:)
由于获取文件名时,曾与64位和32位争食的问题,不知道怎么我没有看到。我会把这个作为可接受的答案,因此缺乏对主要问题的回答:Upvote。 – Blam 2010-08-27 18:38:37
没关系,我只是使用了一种解决方法,我会将此设置为接受的答案,帮助您尝试:) – Blam 2010-08-27 19:35:48