If fgfs.pid is present in fg home, with command line I get
0.00 [ALRT]:general flightgear instance already running, switching to FG_HOME read-only.
With QT I get equally worthless message
Another copy of FlightGear is already running on this computer, so this copy will run in read-only mode.
I had to look in the source code to find out what is wrong. How is a user supposed to find out about stale PID file?
The PID file was added purely to detect multiple launchers, and is supposed to be a hidden feature -most users have no idea what a PID file is. And we take special steps so it's very hard to get a PID file stale - it should be deleted by the OS, even if we crash.
So we could extend the message with something like 'check for a stale lock file' on Linux? On Windows it's really impossible since we don't use a .PID file, and I never saw a stale file on macOS. Better would be to find out why the stale-file-avoidance isn't working though.
Will try to find some better wording and add a 'delete the lock file' button in the UI.
FG commit ddc7baada258c633de76d6c626d374867fd5054e tries to improve this (in the dialog):