Command-Line Options and Environment Variables
|-pwfile||Mathematica password file|
|-pwpath||path to search for a Mathematica password file|
|-run||Mathematica input to run (kernel only)|
|-initfile||Mathematica initialization file|
|-initpath||path to search for initialization files|
|-noinit||do not run initialization files|
|-mathlink||communicate only via MathLink|
Typical command-line options for Mathematica executables.
If the Mathematica
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.
kernels and front ends can also take additional command-line options specific to particular window environments.
|MATHINIT||command-line environment for the Mathematica front end|
|MATHKERNELINIT||command-line environment for the Mathematica kernel|
|MATHEMATICA_BASE||setting for $BaseDirectory|
|MATHEMATICA_USERBASE||setting for $UserBaseDirectory|
will read the values of operating system environment variables, and will use these values in addition to any command-line options explicitly given.
On startup, the Mathematica
kernel does the following:
- Performs license management operations.
- Runs Mathematica commands specified in any -run options passed to the kernel executable.
- Runs the Mathematica commands in the systemwide initialization file $BaseDirectory/Kernel/init.m.
- Runs the Mathematica 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.
The Main Loop
sessions repeatedly execute the following main loop:
- Apply $PreRead function, if defined, to the input string.
- Print syntax warnings if necessary.
- Apply $Pre function, if defined, to the input expression.
- Apply $Post function, if defined.
- Assign Out[n], stripping off any formatting wrappers.
- Print expression, if it is not Null.
- Clear any pending aborts.
Note that if you call Mathematica
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 Mathematica
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 f
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
record all the messages that were generated during the evaluation of a particular line in a Mathematica
Messages are specified as strings to be used as the first argument of StringForm
is applied to each expression to be spliced into the string.
|Exit or Quit||terminate Mathematica|
|$Epilog||symbol to evaluate before Mathematica exits|
|$IgnoreEOF||whether to exit an interactive Mathematica session when an end-of-file character is received|
|end.m||file to read when Mathematica terminates|
There are several ways to end a Mathematica
session. If you are using Mathematica
interactively, typing Exit
on an input line will always terminate Mathematica
If you are taking input for Mathematica
from a file, Mathematica
will exit when it reaches the end of the file. If you are using Mathematica
interactively, it will still exit if it receives an end-of-file character (typically Ctrl+d
). You can stop Mathematica
from doing this by setting $IgnoreEOF=True
Network License Management
|single-machine license||a process must always run on a specific machine|
|network license||a process can run on any machine on a network|
Single-machine and network licenses.
Copies of Mathematica
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 Mathematica
license management program mathlm
, which is run on the server machine. This program must be running whenever a Mathematica
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 command line|
|• Add mathlm as a Windows service|
Ways to start the network license manager under Microsoft Windows.
|• Type ./mathlm directly on the Unix command line|
|• Add a line to start mathlm in your central system startup script|
Ways to start the network license manager on Macintosh and Unix systems.
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 Mathematica 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)|
Some command-line options for mathlm.
For more detailed information on mathlm
, see "System Administration for Network Licenses"
|monitorlm||a program to monitor network license activity|
|monitorlm name||monitor activity for license server name|
Monitoring network license activity.
is run in an environment where a web browser can be started, it will automatically generate HTML output in the browser. Otherwise it will generate plain text.
|-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|
Some command-line options for monitorlm.