加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 自动关闭netcat连接

发布时间:2020-12-13 18:15:55 所属栏目:Linux 来源:网络整理
导读:我正在从脚本执行以下命令: echo'{“hostUp”:true}’| sudo /usr/local / bin / netcat localhost 8001 但是,netcat客户端无限期保持打开状态.发送此数据后,如何关闭连接? 解决方法 在正确的上下文中,给出的其他答案-c和-q都是正确的,但它可能有助于总结
我正在从脚本执行以下命令:

echo'{“hostUp”:true}’| sudo /usr/local / bin / netcat localhost 8001

但是,netcat客户端无限期保持打开状态.发送此数据后,如何关闭连接?

解决方法

在正确的上下文中,给出的其他答案-c和-q都是正确的,但它可能有助于总结为什么有多个答案并提供更一般的解决方案.

这些不同的选项做同样的事情,但是netcat的不同实现:

> -c GNU的netcat实现
> -q OpenBSD实现netcat.
> -w(其他?)Opencat的netcat实现.

某些版本需要int来指定在退出-q和-w选项之前等待的秒数.这个int必须是> 0或> = 0,具体取决于版本.

如果您在多台计算机上实现某些功能并且不确定它们是否使用相同的netcat实现,您可以考虑使用超时程序包装netcat调用以在几秒钟后终止netcat.

timeout 5 echo'{“hostUp”:true}’| netcat localhost 8001

这种方法有点笨拙,因为无论是否成功发送数据,它都会对netcat的执行设置一个上限,但如果你发送少量数据并且有几秒钟的时间,那么这应该有效与任何netcat实现.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读