2016-06-26 37 views
0

我可以將其重定向到終端輸出中看到發送到Unix套接字文件消息:UNIX上的插座消息運行腳本收到

socat /home/user/mpvsocket /dev/pts/0 

我想,當我收到一個運行腳本該套接字上的特定消息。

我該如何做到這一點?

+1

什麼阻止你只是在循環中讀取套接字,尋找特定的消息,然後做一些事情,比如運行一個腳本?你試過什麼了? – Robert

+0

如何讀取循環中的套接字? socat是否支持讀取到stdout? –

+0

我愛那些爲了樂趣而失望的人。 –

回答

0

謝謝@Gil漢密爾頓誰建議我與我修改socat的EXEC選項的爲例鏈接:

運行socat:

socat <PathToSocket> EXEC:<PathToScript>,fdin=3,fdout=4 

內容的腳本:

while read -u 3 BUFFER 
do 
    if [ "$BUFFER" = "<MessageImWaiting>" ]; then 
     # Some actions triggered by the message. 
     echo "<ResponseToTheEvent>" >&4 
    fi 
done