我有一个使用tcp socket进行通信的程序(C ++编译)。该程序配置为两种模式。我们说模式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或其他可能的方式)
由于
答案 0 :(得分:1)
在bash脚本中使用它(在调用二进制文件之前):
trap "fuser -k -n tcp 1234 && exit" SIGINT SIGTERM