2016-06-26 14 views
0

を受けた私は、端末出力にリダイレクトすることでUnixソケットファイルに送信されたメッセージを見ることができます:実行スクリプトが

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

私が受信したときに、私はスクリプトを実行したいと思いますそのソケット上の特定のメッセージ

どうすればこの問題を解決できますか?

+1

ループ内のソケットを読んで、特定のメッセージを探してから、スクリプトを実行するような何かをするのを防ぐには?これまでに何を試しましたか? – Robert

+0

ループでソケットを読み取るにはどうすればよいですか? socatは標準出力をサポートしていますか? –

+0

私は楽しみのためにdownvoteを愛する人々が大好きです。 –

答えて

0

は私が修正socatに関するのEXECオプションのexempleとのリンクを示唆した人ハミルトン@Gilありがとう:

実行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