代码之家  ›  专栏  ›  技术社区  ›  Blam

错误时强制关闭进程

  •  1
  • Blam  · 技术社区  · 14 年前

    我正在编写一个程序,它可以使用LuaInterface并加载可编辑的脚本来抛出错误,这会导致出现错误,例如没有调用“application.exit”或“form.formClosing”事件。因此,我不能保证关闭在应用程序中运行的进程。

    当主进程因错误而结束时,是否有关闭已启动进程的方法?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community Reversed Engineer    7 年前

    除非过程被强制结束,例如通过从任务管理器中删除它或使用environment.failfast,否则您应该能够在主要方法中这样做:

    public static void Main(string[] args) {
    
        try {
            DoNormalStartupStuff();
        }
        finally {
            foreach (var process in _runningProcesses) {
                process.Kill();
            }
        }
    
    }
    

    另一种选择是通过将进程ID从父进程传递到子进程,或 doing something like this . 然后子进程可以监视父进程,如果父进程终止,则子进程可以自杀。