When running doit on $FlightNode (when installed under Linux), doit launches the session-specific memo before contacting parent to bring up the instrument. When parent receives its instructions, it writes them out to a file and then exits, ending the current monarch instance. systemd restarts monarch (flight.sh), but in the process clears out /var/run/monarch, which holds the socket file for the session-specific instance of memo.
The solution is to delay launching the session-specific memo until after the instrument startup and before the GSE programs are started.
When running doit on $FlightNode (when installed under Linux), doit launches the session-specific memo before contacting parent to bring up the instrument. When parent receives its instructions, it writes them out to a file and then exits, ending the current monarch instance. systemd restarts monarch (flight.sh), but in the process clears out /var/run/monarch, which holds the socket file for the session-specific instance of memo.
The solution is to delay launching the session-specific memo until after the instrument startup and before the GSE programs are started.