我调试用 C++/Qt 5.12.1 编写的控制台多线程应用程序。它在 Linux Mint 18.3 x64 上运行。
这个应用程序有SIGINT处理程序QWebSocketServer和QWebSocket表格。它使用close() QWebSocketServer并调用abort()/ deleteLater()forQWebSocket表中的项目来处理终止。
如果 websocket 客户端连接到这个控制台应用程序,那么终止会因为一些正在运行的线程而失败(我想它是内部QWebSocket线程)。如果没有连接,则终止成功。
如何解决?让应用程序优雅地退出。