使用unix-socket解耦

Posted by     "lxg" on Tuesday, April 15, 2025
vim receive.sh
#!/bin/bash

SOCKET="/var/run/ha_state.sock"
[ -e "$SOCKET" ] && rm -f "$SOCKET"  # 移除旧 socket 文件

socat - UNIX-LISTEN:$SOCKET,fork | while read line; do
    echo "收到 socket 消息: $line"
done
vim send.sh
echo 'hello' | socat - UNIX-CONNECT:/var/run/lxgme.sock

先启动 receive.sh

sudo bash receive.sh

再去启动 send.sh

sudo bash receive.sh

返回内容如下

ubuntu@cn1:~$ sudo bash ./receive.sh
收到 socket 消息: hello
收到 socket 消息: hello
收到 socket 消息: hello