gpt4 book ai didi

c++ - 使 Control-C 表现得像未捕获的异常

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:13 25 4
gpt4 key购买 nike

有没有办法让 Control-C 表现得像抛出异常一样。即基本上程序退出,但在所有析构函数都被调用的过程中?

最佳答案

那么,您需要一个信号处理程序来捕获 SIGINT(SIGTERM,HUP 为什么不呢?)。你不想为这样简单的事情使用线程,所以使用标准的“自管道技巧”:将一个字节(信号值)写入信号处理程序中的套接字对的一端,以及你的主循环(有总是在某处有一个选择循环)将异步读回值。就在那一刻,你扔掉,逃跑,按照普通的戒烟程序,做任何你想做的事。就像您在主应用程序循环中出于任何其他原因退出一样,所有内容都会被展开和破坏。

关于c++ - 使 Control-C 表现得像未捕获的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13286969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com