c++ - 在控制台窗口关闭时优雅地关闭命令行应用程序(在 Windows 上)

标签 c++ c windows console-application

我有一个小型命令行应用程序,可以与一些自定义硬件通信。

现在,您运行可执行文件,它会弹出一个控制台窗口,并执行它的操作。我正在处理SIGINTSIGTERM因此,如果您在控制台窗口中按 ctrl+c ,它会正常关闭,并释放自定义硬件。

但是,如果通过简单地关闭控制台窗口(单击角落中的“x”)来终止应用程序,它似乎基本上会立即被终止,没有时间进行任何清理。

如果控制台关闭,我希望能够执行关闭程序。当控制台关闭时,我没有太多运气试图找出我的进程到底发生了什么。

最佳答案

当我提出问题时,我发现 Gracefully terminate a Boost Asio based Windows console application ,它准确地回答了这个问题(我什至正在使用 boost-asio!)。

关于c++ - 在控制台窗口关闭时优雅地关闭命令行应用程序(在 Windows 上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48795246/

相关文章:

windows - RTL(波斯语-阿拉伯语)字母在 android studio 编辑器中搞砸了

c++ - 为什么我不能使用两个scanf函数来输入字母

windows - 如何从当前文件夹以管理员权限运行 PowerShell?

c++ - 交换整数的代码适用于 C++,但不适用于 C

c++ - 如何将 cout 和 cin 放在同一行?

c - 函数调用中&符号是什么意思?

c - 如何像在 python 中那样在 C 中乘以字符串?

javascript - 浏览器打开后如何更改 Electron 窗口图标?

c++ - 链接两个目标文件时,#ifndef 会阻止定义一个函数两次吗?

c++ - 为什么成员类型需要前向声明,而成员函数不需要?