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.

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 14.1.0 Kernel for Mac OS X x86 (64‐bit)
Copyright 1988-2024 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 14.1.0 Kernel for Mac OS X ARM (64-bit)
Copyright 1988-2024 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 14.1.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2024 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:

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

  • $BaseDirectory/Licensing/mathpass
    $UserBaseDirectory/Licensing/mathpass
    $InstallationDirectory/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.