在命令提示符窗口中,我有一个正在运行的进程.当进程仍在执行时,我单击命令提示符窗口一角的(红色)“X”.命令提示符窗口关闭,正在运行的进程终止.
在Linux上,关闭正在运行的进程的父终端将发送该进程SIGHUP.如何在Windows上捕获此事件?
相当于SIGHUP是通过您在
SetConsoleCtrlHandler注册的回调提供的.您的回调函数将在具有dwCtrlType = CTRL_CLOSE_EVENT的任意线程池线程上调用.你有5秒的时间来清理,你无法取消关闭.
示例代码于this MSDN article提供