我在写一个调度程序或排序。它基本上是一个包含exes列表(如“C:\ a.exe”)的表格和一个控制台应用程序,每分钟左右查看表格中的记录并运行尚未运行的任务。如何知道.Net System.Diagnostics.Process何时运行成功或失败?
我会像这样的任务:
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = someExe; // like "a.exe"
p.Start();
我怎么能知道一个特定的任务失败了吗?例如,如果a.exe引发未处理的异常?我希望上面的代码知道这是什么时候发生的,并用“特定任务失败”等方式更新任务表。
我该怎么做?
我没有使用Sql Agent或Windows Scheduler,因为有人告诉我不要。他有更多的“经验”,所以我基本上只是遵循命令。随意建议替代品。
有关此示例,请参阅http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exitcode.aspx。 – marcj 2008-09-30 23:22:50