linux – 当xinetd通过udp接收消息时,将参数传递给Bash脚本
我想知道当xinetd通过udp从随机主机(在lan中)接收命令时是否可以将args传递给bash脚本.要澄清:当我发送时,例如从随机客户端到xinetd服务器,我希望xinetd服务器将hello传递给我指定的bash脚本.世界也是如此. 这是我的xinetd服务文件:
亲切的问候,非常感谢你! 最佳答案
您无法在bash脚本中接收消息,因为在stdin上根本没有要接收的流.
使用UDP,您将发送由xinetd以不同方式处理的数据报. 接收TCP流: xinetd与源主机建立连接并分叉给定脚本的实例. 顺便说一句:stdout get也连接到你的源主机stdin,你可以看到答案或其他消息,如果你需要双向通信. 接收UDP数据报: xinetd在您的端口上接收数据报,并在读取其收到的内容之前运行您的脚本. (仍然未连接的)套接字将被移交给您的脚本. 您需要自己完全处理读取数据报,这不像读写流一样简单.此外,这通常需要的不仅仅是简单的bash脚本. (如果您对此感兴趣,请参阅recvfrom和sendto) 从我的角度来看,我建议你只需切换到TCP流.这还将确保您的命令实际到达主机或在源主机上抛出异常以进行进一步处理. 编辑:这是您的xinetd服务的样子:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |