linux – 使用socat连接到套接字,发送命令和读取单行

linux – 使用socat连接到套接字,发送命令和读取单行,第1张

概述我有一个可以通过UNIX套接字进行通信的进程(实际上是一个 abstract socket,我认为是特定于Linux的). 我正在编写一个需要向此进程发送命令的shell脚本.我决定尝试使用SOCAT来达到这个目的.我试图弄清楚如何(1)连接到抽象套接字,(2)发送一个命令(一个字符串),(3)读取响应并打印响应stdout. 到目前为止,我只需简单地说: socat ABSTRACT-CONNE 我有一个可以通过UNIX套接字进行通信的进程(实际上是一个 abstract socket,我认为是特定于linux的).

我正在编写一个需要向此进程发送命令的shell脚本.我决定尝试使用SOCAT来达到这个目的.我试图弄清楚如何(1)连接到抽象套接字,(2)发送一个命令(一个字符串),(3)读取响应并打印响应stdout.

到目前为止,我只需简单地说:

socat ABSTRACT-CONNECT:mysocket STDIN

这将STDIN连接到套接字,因此如果我知道手动键入命令,套接字将读入字符串,然后将结果响应输出到控制台.

除非我在脚本中运行socat,否则我需要自动将字符串发送到STDIN.好的,所以最简单的方法就是将字符串传递给STDIN.因此,假设我们有一个名为“status”的命令,我会说:

echo status | socat ABSTRACT-CONNECT:mysocket STDIN

这似乎工作(socat报告没有错误),除了结果没有发送到stdout.相反,调用只返回没有响应.那么我怎样才能从套接字中读取一行并在stdout上显示结果?

解决方法 使用“STdio”地址类型作为第二个参数,这是一个双向地址.它从控制台读取输入数据并发送到另一端,并从对端接收数据并写入控制台输出.不胜感激 – 又名.破折号是stdio的快捷方式. 总结

以上是内存溢出为你收集整理的linux – 使用socat连接到套接字,发送命令和读取单行全部内容,希望文章能够帮你解决linux – 使用socat连接到套接字,发送命令和读取单行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1031498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存