|Command‐Line Options and Environment Variables||Messages|
|The Main Loop||Network License Management|
|-pwfile||Wolfram System password file|
|-pwpath||path to search for a Wolfram System password file|
|-run||Wolfram Language input to run (kernel only)|
|-initfile||Wolfram System initialization file|
|-initpath||path to search for initialization files|
|-noinit||do not run initialization files|
|-wstp||communicate only via WSTP|
If the Wolfram System front end is called with a notebook file as a command‐line argument, then this notebook will be made the initial selected notebook. Otherwise, a new notebook will be created for this purpose.
|MATHINIT||command‐line environment for the Wolfram System front end|
|MATHKERNELINIT||command‐line environment for the Wolfram Language kernel|
|MATHEMATICA_BASE||setting for $BaseDirectory|
|MATHEMATICA_USERBASE||setting for $UserBaseDirectory|
- Performs license management operations.
- Runs Wolfram Language commands specified in any -run options passed to the kernel executable.
- Runs the Wolfram Language commands in the systemwide initialization file $BaseDirectory/Kernel/init.m.
- Runs the Wolfram Language commands in the user‐specific initialization file $UserBaseDirectory/Kernel/init.m.
- Loads init.m and Kernel/init.m files in Autoload directories.
- Begins running the main loop.
- Read in input.
- Apply $PreRead function, if defined, to the input string.
- Print syntax warnings if necessary.
- Apply $SyntaxHandler function if there is a syntax error.
- Assign InString[n].
- Apply $Pre function, if defined, to the input expression.
- Assign In[n].
- Evaluate expression.
- Apply $Post function, if defined.
- Assign Out[n], stripping off any formatting wrappers.
- Apply $PrePrint function, if defined.
- Assign MessageList[n] and clear $MessageList.
- Print expression, if it is not Null.
- Increment $Line.
- Clear any pending aborts.
Note that if you call the Wolfram Language via the Wolfram Symbolic Transfer Protocol (WSTP) from within an external program, then you must effectively create your own main loop, which will usually differ from the one described above.
During a Wolfram System session messages can be generated either by explicit calls to Message, or in the course of executing other built‐in functions.
|f::name::lang||a message in a specific language|
|f::name||a message in a default language|
|General::name||a general message with a given name|
If no language is specified for a particular message, text for the message is sought in each of the languages specified by $Language. If f::name is not defined, a definition for General::name is sought. If still no message is found, any value defined for $NewMessage is applied to Null and "name".
Quiet[expr] evaluates expr while preventing messages from being printed during the evaluation. Off[message] prevents a specified message from ever being printed. Check allows you to determine whether particular messages were generated during the evaluation of an expression. $MessageList and MessageList[n] record all the messages that were generated during the evaluation of a particular line in a Wolfram System session.
|Exit or Quit||terminate the Wolfram System|
|$Epilog||symbol to evaluate before the Wolfram System exits|
|$IgnoreEOF||whether to exit an interactive Wolfram System session when an end‐of‐file character is received|
|end.m||file to read when the Wolfram System terminates|
If you are taking input for the Wolfram Language from a file, the Wolfram System will exit when it reaches the end of the file. If you are using the Wolfram System interactively, it will still exit if it receives an end‐of‐file character (typically Ctrl+d). You can stop the Wolfram System from doing this by setting $IgnoreEOF=True.
|single-machine license||a process must always run on a specific machine|
|network license||a process can run on any machine on a network|
Copies of the Wolfram System can be set up with either single‐machine or network licenses. A network license is indicated by a line in the mathpass file starting with !name, where name is the name of the server machine for the network license.
Network licenses are controlled by the Wolfram System license management program mathlm, which is run on the server machine. This program must be running whenever a Wolfram System with a network license is being used. Typically you will want to set up your system so that mathlm is started whenever the system boots.
|■ Type ./mathlm directly on the Unix command line|
|■ Add a line to start mathlm in your central system startup script|
When mathlm is not started directly from a command line, it normally sets itself up as a background process, and continues running until it is explicitly terminated. Note that if one mathlm process is running, any other mathlm processes you try to start will automatically exit immediately.
|-logfile file||write a log of license server actions to file|
|-loglevel n||how verbose to make log entries (1 to 4)|
|-logformat string||use a log format specified by string|
|-language name||language to use for messages (default English)|
|-pwfile file||use the specified mathpass file (default ./mathpass)|
|-timeout n||suspend authorization on stopped Wolfram System jobs after n hours|
|-restrict file||use the specified restriction file|
|-mathid||print the MathID for the license server, then exit|
|-foreground||run mathlm in the foreground, logging to stdout|
|-install||install mathlm as a Windows service (Microsoft Windows only)|
|-uninstall||uninstall mathlm as a Windows service (Microsoft Windows only)|
For more detailed information on mathlm, see "Mathematica System Administration".
|monitorlm||a program to monitor network license activity|
|monitorlm name||monitor activity for license server name|
|-file file||write output to a file|
|-format spec||use the specified format (text, html, or cgi)|
|-template file||use the specified file as a template for the output|