关闭从C#调用的一个进程将关闭其他进程

时间:2015-12-28 13:10:47

标签: c# windows process

我从我的C#应用​​程序启动了一些具有相同boolean[] bools = new boolean[] { ... }; String[] strings = new String[] { ... }; boolean checks = false; for(int i = 0; i<bools.length && !checks; i++) checks = bools[i]; //so far we will have processed if any of the bools was false, which was your condition if(checks) Object object = new Object(); //create your desired object .exe的进程。

处理起始码:

WorkingDirectory

当我杀死Windows任务管理器中的一个进程时,有时会有多个进程被杀死。

即使我的ProcessStartInfo processStartInfo = new ProcessStartInfo { FileName = applicationInfo.ExePath, Arguments = configurationPathArguments, WorkingDirectory = applicationInfo.DllsDirectoryPath, WindowStyle = ProcessWindowStyle.Normal }; Process process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true }; process.Exited += OnProcessExited; process.Start(); OnProcessExited句柄为空,也会发生这种情况。

我是以错误的方式调用进程吗?

为什么Windows会杀死不相关的进程,当我杀死进程时,我没有要求任务管理器杀死。

1 个答案:

答案 0 :(得分:1)

使用提供的代码,我能够启动多个winform.exe进程并在任务管理器中终止它们,没有任何问题。

可能有一些共享功能导致其余进程崩溃。 尝试将调试器附加到进程,然后再终止它们,看看是否会引发异常。

您还可以使用DebugDiag附加到正在运行的进程并保存崩溃转储信息https://support.microsoft.com/en-us/kb/2580960