server run command

The server run command starts the named Open Liberty server as a foreground process.

The standard output and error from the server process are output to the foreground.

Usage examples

Start the myserver server in the foreground:

server run myserver

Start the myserver server in the foreground and set the variable_name variable to the variable_value value:

server run myserver -- --variable_name=variable_value


Run the command from the path_to_liberty/wlp/bin directory.

server run serverName [options]

The name of the server to run the command against. If no server is specified, a server called defaultServer is automatically created to run the command against.


Options for the server run command


Defines variables. Include -- in the command before you specify the option, as shown in the usage example.

Variables that are specified on the command line override all other sources of variables and can’t be changed after the server starts.

Server process properties

The following JVM options are added:

  • -javaagent:wlp/bin/tools/ws-javaagent.jar is required for server capabilities such as trace and monitoring.

  • -Xshareclasses and related options are on Eclipse Open J9 to enable the shared class cache.

  • -XX:MaxPermSize is set on HotSpot Java SE 7 to increase the size of the permanent generation space.

  • -Djava.awt.headless=true avoids java.awt.HeadlessException on all platforms and focus-stealing problems on Mac OS X.

The server command sets the umask value to deny all permissions to Other users before the command runs the action.

The current working directory of the server process is set to the server output directory.

The server command creates a process ID (PID) file when you start the server and deletes the PID file when you stop the server.

Exit codes

The following exit codes are available for the server run command and the equivalent executable JAR file ws-server.jar:

Exit codes for the server run command


This code indicates successful completion of the requested operation.


This code indicates invocation of a redundant operation, such as starting a started server or stopping a stopper server. 1 might also be returned if the JVM options that were used are not valid.


This code indicates that the server does not exist.


This code indicates an unsupported action was called on a running server. For example, the server is running when the package action is called.


Exit codes that are greater than or equal to 20 indicate that an error occurred while performing the request. Messages are printed and captured in log files with more information about the error.