Semaphore Files
MDaemon responds to numerous semaphore files that can be used for a variety of useful purposes. Periodically MDaemon will scan the \APP\ subdirectory for the existence of these files. If it finds one, the associated behavior is triggered and the semaphore file is removed. This provides for a simple mechanism that enables administrators and developers to manipulate MDaemon without actually handling the interface. The following is a list of all the semaphores and what they do:
| FILENAME | ACTION |
|---|---|
| RESTART.SEM | Restarts MDaemon. |
| DISPLAY | If DISPLAY.SEM is found, the entire contents of the file is dumped line-for-line into MDaemon's system log. |
| USERLIST.SEM | Forces MDaemon to reload the USERLIST.DAT file and rebuild the EVERYONE.GRP mailing list. Use this when you make modifications to the USERLIST.DAT and need MDaemon to reload it. |
| EDITUSER.SEM | This semaphore is used to update specific records within the USERLIST.DAT file without a potentially time consuming complete rebuild. To update a specific record within USERLIST.DAT you first construct a complete replacement record according to the format specified in the Account Management Functions section of the MDaemon API (see MD-API.html in MDaemon's docsAPI subfolder).. The new record will reflect the changes that need to be updated within USERLIST.DAT. How does MDaemon know which record in USERLIST.DAT to update? This is accomplished by prepending the new record with the original record's email address followed by a comma. The EDITUSER.SEM file can contain multiple records to update - each on its own line. MDaemon will process the file one line at a time. You can create EDITUSER.LCK to lock the file while you are updating it and MDaemon will not touch EDITUSER.SEM until EDITUSER.LCK is deleted. To see a sample EDITUSER.SEM file open EDITUSER.SMP in your APP directory with a text editor. |
| ADDUSER.SEM | This semaphore creates new accounts. It is used to force MDaemon to append new records to the end of the USERLIST.DAT file without causing a potentially time consuming complete rebuild of the user database. Each line in this file must be a complete account record of the form specified in the Account Management Functions section of the MDaemon API (see MD-API.html in MDaemon's docsAPI subfolder). Multiple new accounts can be specified - one account record per line. MDaemon will process the file one line at a time and add each new account. You can create ADDUSER.LCK to lock the file while you are updating it and MDaemon will not touch ADDUSER.SEM until ADDUSER.LCK is deleted. To see a sample ADDUSER.SEM file open ADDUSER.SMP in your APP directory with a text editor. |
| DELUSER.SEM | You can use this semaphore file to delete one or more user accounts. Create a text file containing the addresses of each account that you want to be deleted (one address per line), name the file "DELUSER.SEM" and then move it to MDaemon's …app directory. MDaemon will delete the accounts and then delete the DELUSER.SEM file. |
| RELOADCACHE.SEM | Reloads all cached settings and files except for Content Filter settings and files. |
| PROCNOW.SEM | MDaemon will immediately go into mail processing mode. |
| PROCREM.SEM | MDaemon will immediately go into mail processing mode and transact all remote mail. |
| PROCDIG.SEM | Forces Digests to be sent immediately. |
| PROCRETR.SEM | Forces the Retry Queue to be processed. |
| PROCBAD.SEM | Forces the Bad Message Queue to be processed. |
| EXITNOW.SEM | MDaemon will terminate and remove itself from memory. |
| SCHEDULE.SEM | Forces MDaemon to reload the SCHEDULE.DAT file. |
| PRIORITY.SEM | Forces MDaemon to reload the PRIORITY.DAT file. |
| EXCPTION.SEM | Forces MDaemon to reload the EXCPTION.DAT file. |
| ALIAS.SEM | Reloads the alias file. |
| TRANSLAT.SEM | Reloads the header translation file. |
| SPAMEXCEPT.SEM | Reloads the DNS-BL exception file. |
| AUTORESPEXCEPT.SEM | Reloads the Auto Responder exception file. |
| MXCACHE.SEM | Reloads the MX cache file. |
| UPDATEAV.SEM | Forces an AntiVirus update. |
| PRUNE.SEM | Runs the old mail and account pruner program (the same thing that happens at midnight). |
| CFILTER.SEM | Reloads the content filter, including AntiVirus and AntiSpam settings. |
| EXPORTLDAP.SEM | Exports account information to LDAP address books (requires LDaemon). |
| BAYESLEARN.SEM | If Bayesian learning is enabled, this SEM runs the learning program (just as would happen at midnight) |
| HANGUPR.SEM | Forces a "rude" hang-up of a connected RAS session. This is an immediate and unconditional hang-up without regard to mail sessions which may be in progress across the connection so watch out! |
| HANGUPG.SEM | Forces a "graceful" hang-up of a connected RAS session. MDaemon will wait for any pending mail sessions to close and will then hang-up the RAS session. |
| QUEUERUN.SEM | Just before a mail session begins MDaemon will create this semaphore file. Inside the file will be a datestamp indicating the time and date of the most recent mail processing interval. |
| ONLINE.SEM | MDaemon will create this semaphore file once it makes a successful connection using RAS to the ISP. MD will remove the semaphore once the connection has been terminated. This is useful if you want to know when MD is using the RAS sub-system. |
| PREDIAL.SEM | MDaemon will create this file just before trying to use RAS/DUN. This will allow other software to detect when it should free the dialup port so that MDaemon can use it. |
| POSTDIAL.SEM | MDaemon will create this file immediately after a connection made by MDaemon is taken down. |
| TRAY.SEM | Redraws MDaemon's icon in the system tray |
| SUPPRESS.SEM | Reloads the suppressed address list for all domains. |
| GRPLIST.SEM | Reloads Mailing List names dynamically. |
| CATLIST.SEM | Reloads Catalog names dynamically. |
| WATCHDOG.SEM | MDaemon will check for and remove this semaphore from the APP directory at approximately 10-20 second intervals. This file can be used by external apps to check if MDaemon is running. If this file remains in the APP directory for more than 20 seconds, that is a good indication that MDaemon is no longer running. |
| TARPIT.SEM | file thus implementing any Tarpitting changes. |
| ALERT.SEM | Displays in a pop-up window the contents of the semaphore file to all WorldClient users who are logged in when the file is created. It is not, however, displayed to all users immediately-it is displayed to each user individually the next time his or her browser makes a request to the WorldClient server. |
| Note: | Unlike other semaphore files, this file is WorldClient specific. Instead of placing it in MDaemon's app directory it must be placed in the MDaemonWorldClient directory. |
