There are numerous ways to stop MM. The commands exit, quit and bye are the most familiar.
In the UNIX operating system, when a program is invoked (for example, when you type mm to start MM), it is copied into memory (RAM), and the copy in memory is known as a process. When you want to stop using a process, it can be suspended (stopped but held in memory) or killed (stopped and erased from memory).
In the case of MM, it makes sense to kill the process when you know you're done with MM, and to suspend it when you think you'll go back to MM before logging out. MM uses the process or session as a unit for some purposes, and when you go back to a suspended process, nothing has changed: you have the same current mail file, the same values from set and define commands, the same message classifications new and recent, and command history (control-p). Continuing a process is more efficient for the system and slightly faster than starting a new process, although on a fast system the difference visible to you may be only a second or so.
The following commands kill the MM process:
MM>bye Expunge deleted messages?n $
MM>[control-c] Do you really want to exit MM? [y/n] y Save mail file before exiting? [y/n] y $
The following commands suspend the MM process:
When MM is suspended by any of the above methods, the system displays a line giving the job number and the word Stopped:
MM>suspend [1] + Stopped (signal) /usr/local/bin/mm $
From the UNIX shell, the usual way to rejoin a suspended process is to use the fg command. If MM was the last process you ran, fg alone will return you to it. Otherwise, use the jobs command to find the job number (n) of the MM process and use the command fg %n to get to it. The job number is also displayed at the time you suspend MM; in the examples above the [1] indicates job number 1.
$ jobs [2] + Stopped /usr/local/bin/emacs [1] - Stopped (signal) /usr/local/bin/mm $ fg %1 /usr/local/bin/mm MM>
You may not have to use fg, but just mm. If so, that works only because the system administrators set up mm to run a command that does an fg to MM when possible and otherwise starts a new process. Try checking with whence mm, which will return something like fg -s /usr/local/bin/mm if it is set up this way.
An MM process locks a mail file while it is reading and writing to it. The lock prevents any other MM process from getting write access to the file (that is, access with a get command). If you start a second MM process while you already have one running, you will see an error message as soon as you try to access a mail file locked by the first MM process. Most commonly, the first one has a lock on the main mail file (mbox), so the error message appears as soon as the second process starts and tries to do the automatic get of mbox. The best way out of this is to kill the second process with bye, and get back to the first one, if necessary by getting the job number from jobs and using fg as explained above.
If the other MM process is from another login session at another terminal, you are best advised to go to that terminal and either use it there or kill it. In some problem cases, an MM process runs away, that is, it is still running but is detached from your control and does not show in the jobs command, and if so you will probably need help to stop it. This is a system problem rather than anything in MM itself. In the meantime you can examine mbox and the new mail in /usr/spool/mail/youruserid.