我有一個父程序調用工作控制檯應用程序,當發現更新並更新文件時,此應用程序通過參數從父進程獲取進程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