让“socat”不断监听魔法包

让“socat”不断监听魔法包

我有一个带有 Raspberry Pi OS 2021 年 6 月的 RPi 1b+ v1.2。

我用来socat触发一个 bash 脚本来唤醒网络中的另一台电脑。我使用这个命令:

sudo socat UDP-LISTEN:10 EXEC:scripts/pi-wol.sh,fork

但抛出一个错误

2021/09/05 19:26:38 socat[1743] E parseopts(): option "fork" not supported with this address type

它工作得很好,没有fork但只有一次,我需要它不断地聆听。有什么想法我该怎么做吗?

答案1

听起来你更想要:

socat -u udp-recvfrom:10,fork exec:scripts/pi-wol.sh

对于每个收到的 UDP 数据包,分叉一个进程来处理它,并将数据包的内容发送到该脚本的新调用的标准输入上。

-u用于单向,除非您希望脚本的输出作为 UDP 数据包发送回客户端。

相关内容