You must make sure your "daemon" process reads from the pipe.
mkfifo /tmp/server ./startserver < /tmp/server & sleep 10000 > /tmp/server &
Later on, whatever you write to /tmp/server/
appears on startserver
's standard input, for example:
echo "changelevel de_dust2" > /tmp/server
Note: the sleep
command is necessary to keep the pipe open, because each echo
command will try to close it when it ends, possibly terminating startserver
.