Shutdown Hook c ++

Seb*_*ann 6 c++ hook shutdown termination exit

有什么方法可以在终止时运行代码,无论什么样的终止(异常,正常,未捕获的异常等)?我知道它实际上可以用Java,但它甚至可以在C++中使用吗?我假设一个Windows环境.

Jer*_*fin 5

不 - 如果有人调用TerminateProcess,你的进程将在没有进一步调整的情况下被销毁,并且(特别是)没有任何机会在关闭过程中运行任何更多的代码.

  • 这是正确的答案;但是,正如其他一些答案所示,您可以使用 `atexit()` 设置退出处理程序,并且可以使用 `signal()` 捕获大多数信号——但是,如果有人强制终止(即在 Linux 上将是 kill-9,并且信号 9 是无法捕捉的) (2认同)