在命令提示符窗口中,我正在运行一个进程。在该过程仍在执行的同时,我单击命令提示符窗口角落的(红色)“X”。命令提示符窗口关闭,正在运行的进程终止。

在Linux上,关闭正在运行的进程的父终端将发送该进程SIGHUP。如何在Windows上捕获此事件?

最佳答案

通过在SetConsoleCtrlHandler注册的回调提供了SIGHUP的等效功能。您的回调函数将在带有dwCtrlType = CTRL_CLOSE_EVENT的任意线程池线程上调用。您有5秒钟的清理时间,无法取消关闭。

this MSDN article中提供了示例代码

关于windows - 在运行过程中捕获Windows终端关闭,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20511182/

10-15 04:10