当"ctrl c"用于终止程序时,程序不会停止

Program doesn't stop when "ctrl c" is used to terminate program

本文关键字:程序 ctrl 用于 终止程序      更新时间:2023-10-16

我有一个程序(c++编译),使用tcp套接字进行通信。该程序配置为两种模式。比如模式A和模式b

启动程序模式A,它将打印如下:

waiting connections on port 1234
local endpoint : 0.0.0.0:1234
//I think it is using boost for TCP socket 

然后启动模式b。他们会找到彼此并完美运行。

问题是,如果我启动模式A,然后使用"ctrl c"终止模式A的应用程序,它将留下端口打开那里。

当我启动模式B时,它也会找到连接并运行错误,因为A不在那里。

我有一个bash来运行应用程序,我想问我如何可以强制端口关闭?(以bash或其他可能的方式)

谢谢

在bash脚本中使用此命令(在调用二进制文件之前):

trap "fuser -k -n tcp 1234 && exit" SIGINT SIGTERM