WolframKernel

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.

EXAMPLES

Interactive Operation

Run the Wolfram Language in an interactive REPL:

$ WolframKernel
Mathematica 12.0.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2019 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:

In[1]:=
Click for copyable input
Out[3]=

Send an evaluation to the linked kernel and compare the result to the current kernel:

In[4]:=
Click for copyable input
Out[5]=

Close the link:

In[6]:=
Click for copyable input

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 Language 12.0.0 Engine for Linux x86 (64-bit)
Copyright 1988-2018 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 Language 12.0.0 Engine for Linux (64-bit)
Copyright 1988-2018 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

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 the 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

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 "#!".

FILES

User initialization file locations:

  • $BaseDirectory/Kernel/init.m
    $UserBaseDirectory/Kernel/init.m
  • Password file locations:

  • $UserBaseDirectory/Licensing/mathpass
    $BaseDirectory/Licensing/mathpass
    $InstallationDirectory/Configuration/Licensing/mathpass
  • WOLFRAM LANGUAGE VARIABLES

    The following variables are set when WolframScript begins execution.

    $CommandLine A list of strings giving the complete command line used.

    $ScriptCommandLine A list of command-line arguments intended for the script being run. These come after options given with -option.

    ENVIRONMENT VARIABLES

    WOLFRAMINIT Additional arguments to append to every invocation of WolframKernel.

    MATHKERNELINIT Legacy variable that is read if WOLFRAMINIT is not defined.

    MATHEMATICA_BASE The path to use for the value of $BaseDirectory.

    MATHEMATICA_USERBASE The path to use for the value of $UserBaseDirectory.

  • System Administration Guide