NAME
WolframKernel
— starts a standalone Wolfram Language kernel.
SYNOPSIS
WolframKernel
WolframKernel -wstp
WolframKernel -run initcode
DESCRIPTION
WolframKernel
runs the standalone Wolfram Language kernel. A standalone kernel session normally reads input from a device (typically a keyboard or a WSTP connection), evaluates the expression and prints the result to a device (typically a screen or a WSTP connection). On some systems, WolframKernel
and wolfram
are the same program.
OPTIONS
OPTIONS
Startup Options
-initfile file
— Execute the commands in the initialization .
-noinit
— Do not read initialization files from standard locations.
-run cmd
— Run the command on startup.
Licensing Options
-lmverbose
— Print information about interactions with MathLM.
-pwfile file
— Read license passwords from .
Execution Mode Options
-wstp
— Communicate only via WSTP.
-noicon
— On platforms such as Windows that launch the kernel in a separate window, hide the window and suppress its entry in the operating system task bar.
-noprompt
— Do not print banner or In [] and Out [] prompts or ask for user input due to startup errors (useful for batch scripts).
-script file
— Execute the commands from the in script mode.
-threadpriority p
— On Windows, specify the relative priority of the kernel process.
DETAILS
DETAILS
Startup
When -wstp
is given, any general WSTP option understood by WSOpenArgcArgv may be given on the command line as well.
On platforms such as Windows that launch the kernel in a separate window, the window is minimized in WSTP mode. Adding -noicon
will additionally suppress an entry in the operating system taskbar.
The kernel will read the value of the environment variable and append its value to any command-line arguments.
The argument to the Windows-only -threadpriority option can be one of , , , or , with the default being . Positive numbers indicate that the kernel should run at a higher priority than normal, while negative numbers indicate a lower-than-normal priority.
If a password file is specified using -pwfile
, its passwords are tried first. If no valid passwords are found, password files in standard system locations are tried.
When -noprompt
is given, the variable $BatchOutput is set to True . In addition to omitting In [] and Out [] labels and the banner when it starts up, the Wolfram Language generates all output in InputForm , with the PageWidth option effectively set to Infinity .
Wolfram Language Scripts
If the -script command-line option is given, the kernel evaluates commands from the in a batch, or script, mode and then terminates.
In a script mode, the kernel prints no banner and no In [] or Out [] labels and generates all output in InputForm , with the PageWidth option effectively set to Infinity .
In script mode, the kernel ignores the first line of the file if it starts with the characters "#!".
EXAMPLES
Interactive Operation
Run the Wolfram Language in an interactive REPL:
$ WolframKernel
Wolfram {RelatedLinks-NeuralNetRepository.png}.{RelatedLinks-NeuralNetRepository.png} Kernel for {RelatedLinks-NeuralNetRepository.png}
Copyright 1988-{RelatedLinks-NeuralNetRepository.png} Wolfram Research, Inc.
In[1]:= 2+2
Out[1]= 4
In[2]:=
WSTP
Start a kernel and create a WSTP link:
$ WolframKernel -wstp -linkcreate
Link created on: mvg8t_shm
From another session, connect to the link, activate it and clear the input:
Send an evaluation to the linked kernel and compare the result to the current kernel:
Close the link:
Suppress taskbar entry on operating systems such as Windows:
$ WolframKernel -noicon -wstp -linkcreate
Link created on: z5hmx_shm
Initialization on the Command Line
Use the -run
option to set a variable on startup:
$ WolframKernel -run 'AppendTo[$Path, "/favorite/path"]'
Wolfram {RelatedLinks-NeuralNetRepository.png}.{RelatedLinks-NeuralNetRepository.png} Kernel for Mac OS X ARM (64-bit)
Copyright 1988-{RelatedLinks-NeuralNetRepository.png} Wolfram Research, Inc.
In[1]:= Last[$Path]
Out[1]= /favorite/path
In[2]:=
By adding an explicit Exit [], the -run
option can be used to evaluate an expression and exit:
$ WolframKernel -run 'Print[\"Hello World\"];Exit[]'
Wolfram {RelatedLinks-NeuralNetRepository.png}.{RelatedLinks-NeuralNetRepository.png} Kernel for Linux x86 (64-bit)
Copyright 1988-{RelatedLinks-NeuralNetRepository.png} Wolfram Research, Inc.
Hello World
Initialization from a File
Append custom_init.wl
to the standard list of initialization files:
$ WolframKernel -initfile custom_init.wl
Avoid loading any initialization files:
$ WolframKernel -noinit
Use custom_init.wl
as the only initialization file:
$ WolframKernel -noinit -initfile custom_init.wl
Additional Examples
Allow the kernel to run using a different password file:
$ WolframKernel -pwfile "/path/to/mathpass"
Evaluate Wolfram Language code from a file and exit:
$ WolframKernel -script test.wl
Suppress opening a separate window and taskbar entry on operating systems such as Windows:
$ WolframKernel -script test.wl -noicon
FILES
User initialization file locations:
/Kernel/
init.m /Kernel/
init.m Password file locations:
/Licensing/mathpass
/Licensing/mathpass
/Configuration/Licensing/mathpass
WOLFRAM LANGUAGE VARIABLES
$BatchOutput
— Whether -noprompt
has been given on the command line.
$CommandLine
— A list of strings giving the complete command line used.
$Epilog
— Command to execute on kernel exit.
$IgnoreEOF
— Whether wolfram
should continue even if given an end-of-file character.
$PasswordFile
— The path to the password file that successfully activated wolfram
.
ENVIRONMENT VARIABLES
WOLFRAMINIT
— Additional arguments to append to every invocation of WolframKernel
.
MATHKERNELINIT
— Legacy variable that is read if WOLFRAMINIT
is not defined.
WOLFRAM_BASE
— The path to use for the value of $BaseDirectory .
WOLFRAM_USERBASE
— The path to use for the value of $UserBaseDirectory .
See Also
$Epilog $CommandLine $IgnoreEOF $BatchOutput
Programs: WolframNB wolfram WolframScript mathlm
System Files: init.m
Related Guides
History
Introduced in 1988 (1.0) | Updated in 1991 (2.0) ▪ 1996 (3.0) ▪ 2003 (5.0) ▪ 2004 (5.1) ▪ 2007 (6.0) ▪ 2010 (8.0) ▪ 2014 (10.0) ▪ 2019 (12.0) ▪ 2020 (12.1) ▪ 2024 (14.1)