This comand (serial port redirector) accepts a single connection on TCP:11313 :
socat PTY,link=/dev/ttyV1,echo=0,raw,unlink-close=0 TCP-LISTEN:11313,forever,reuseaddr
However when the connection is lost, the above socat process is killed and the client is not able to connect.
I can solve this by adding fork
option at the end of the above command. But then multiple clients will be able to connect. But I want to accept only one connection.
Any ideas how to achieve this?
You can limit the number of children with the
max-children
option:With this you can limit the number of clients that can interact with the PTY to one, but won't prevent others from connecting. Others will simply queue until the first connection is closed. If you want to prevent that, I'd suggest to just wrap the socat call in a
while true; do ..; done
loop: