Let's change MM so that it makes a lock file when it runs, so that it's easy to run it from an external scheduler (e.g. cron or Windows scheduler). It should delete the lock file on exit and if it starts up and finds a pre-existing lock file, it should tell you why it's shutting down, then shut down without doing anything. Then if the lock file exists because the operator has killed a running process manually, the operator can delete the lock and run MM again.