C# – 如何检查进程是否成功启动
可能重复:
如何知道Process.Start()是否成功?
我的程序中有一个类似于看门狗的程序(让我们称之为WD
),这是另一个正在运行的程序(我们称之为A
)。 我正在某个事件中启动WD
进程,假设按下了一个键,我想用这个进程启动另一个进程,让我们称之为B
问题是我想知道进程B
成功启动之后关闭了初始进程A
我怎么检查?
我正在使用Process.Start(argList)
和ProcessInfo(argList)
语法启动进程WD
和B
每个进程都是一个简单的C#控制台应用程序
Process.Start返回一个布尔值(如果进程正确启动,则为true )检查此MSDN 链接是否为Process.Start()方法。
你的代码应该是这样的:
Process B= new Process(); try { B.StartInfo.UseShellExecute = false; B.StartInfo.FileName = "C:\\B.exe"; B.StartInfo.CreateNoWindow = true; if (B.Start()) { // Kill process A } else { // Handle incorrect start of process B and do NOT stop A } } catch (Exception e) { // Handle exception and do NOT stop A }
的Process.Start
返回:如果启动了进程资源,则返回true ; 如果没有启动新进程资源,则返回false (例如,如果重用现有进程)。
我想你应该只检查Process.Start
的返回值。 如果是true
,您可以关闭当前进程。
根据您使用的重载,如果返回值也失败,则返回值可能为null
。