startServer command
The startServer command reads the configuration file for the specified server process and starts that server process.
The server process can be an application server or an administrative agent.
If you are running the product on a Windows Windows operating system, and you have the server running as a Windows operating system service, the startServer command will start the server and the associated Windows service.
You do not have to use a user name and password with the startServer command because this command launches a server process but does not invoke an MBean method.
- Issuing the startServer -script command creates a script with static values. When you change JVM parameters from the console, a new script needs to be generated to accommodate these changed JVM parameters.
- When you run the startServer -script, the command generates a new script that has all the parameter values at the time the command is run. If you change the values of the parameters (or add a new parameters), the generated script does not have these new parameter values. These new values are passed to the newly generated script in a static manner, so any changes made after this script is created will require a new startServer -script to generate a new script with these updated values.
- If you change the value of the Java virtual machine Classpath setting, then this new value overrides the value of the Classpath parameter in the launch command that is set, by default, in the script that is generated when the you issue the startServer -script command.
- If you add a new environment entry on the Environment entries page or change the setting of an existing entry, then the new and changed values appear as parameters in the script that is generated when you issue the startServer -script command.
- If one of the environment entries you add is called PATH, then the value specified for this
entry overrides the value specified for the PATH variable that, by default, is set to WAS_PATH in
the setUpCmdLine file. If the value of the PATH variable is overridden, the following message is
sent to the file where your error messages are logged:
WSVR0009E: Error occured during startup. com.ibm.ws.exception.RuntimeError: java.lang.NoClassDefFoundError: com/ibm/ws/process/Win32ProcessGlue
For more information about where to run this command, see the Using command line tool topic.
Syntax
startServer server_name [options]
where server_name is the name of the application server that you want to start.
This argument is required.
This argument is optional. If this argument is not specified, a server is assigned based on your profile name. If you use the profile named default, the <server> argument is set to server1. If the profile name is not default, the <server> argument is set to the profile name.
startServer <adminagent_name>
whereadminagent_name is the name of the administrative agent that you want to start.
Parameters
The following options are available for the startServer command:
- -?
- Prints a usage statement.
- -curlib <product_library>
- Specifies the current library to use for the underlying Submit Job (SBMJOB) CL command.
- -cpyenvvar
- Tells the startServer command to set the environment variables that are currently defined for the server process. The default is to not set the currently defined environment variables.
- -help
- Prints a usage statement.
- -inllibl <library_list>
- Specifies the initial library list to use for the underlying Submit Job (SBMJOB) CL command.
- -inlaspgrp <ASP_group>
- Specifies the initial ASP group for the underlying Submit Job (SBMJOB) CL command.
- -J <java_option>
- Specifies options to pass through to the Java interpreter.
- -jobd <product_library/job_description>
- Specifies the job description for the underlying Submit Job (SBMJOB) CL command.
- -jobq <product_library/job_queue>
- Specifies the job queue for the underlying Submit Job (SBMJOB) CL command.
- -logfile <fileName>
- Specifies the location of the log file to which trace information is written. By default, the log file is named startServer.log and is created in your logs directory.
- -nowait
- Tells the startServer command not to wait for successful initialization of the launched server process.
- -outq <product_library/output_queue>
- Specifies the output queue for the underlying Submit Job (SBMJOB) CL command.
- -profileName
- Defines the profile of the server process in a multi-profile installation. The -profileName option is not required for running in a single profile environment. The default for this option is the default profile.
- -quiet
- Suppresses the progress information that the startServer command prints in normal mode.
- -replacelog
- Replaces the log file instead of appending to the current log.
- -recovery
- Specifies that the server will start in recovery mode, perform a transactional recovery, and
shut down. The server will not accept any new transactions while it is in recovery mode. When you
start the server again, resources that were unavailable due to questionable transactions will be
available.
Use this option if a server fails and you do not want to accept new transactions during the recovery process.
For transitioning users: If you are migrating from a previous version of the product, make sure that the ENV parameter included on the JCL procedure statement for the controller includes either the REC=N or the REC=Y element. If the ENV parameter does not include either the REC=N or the REC=Y element, the server will not restart in recovery mode even if you specify the -recovery option.//BBO6ACR PROC ENV=,PARMS=' ',REC=N,Z=BBO6ACRZ
When you invoke the startServer command with the -recovery parameter and the recovery process is unsuccessful, the following error message occurs in the SystemErr.log and SystemOut.log files:
The message does not indicate that the recovery process was unsuccessful. If you use the -recovery parameter, check the SystemErr.log and SystemOut.log files for the server that you are starting to determine if the recovery process was successful.CWNATV03I: Application server xxxxxx in profile xxxxxx has completed recovery. Server stopped.
- -sbs <product_library/subsystem_description>
- Specifies the subsystem to use for the underlying Submit Job (SBMJOB) CL command.
- -statusport <portNumber>
- An optional parameter that allows an administrator to set the port number for server status callback. The tool opens this port and waits for status callback from the server indicating that the server has started. If the parameter is not set, an unused port is automatically allocated.
- -script [<script fileName>] -background
- Generates a launch script with the startServer command instead of launching the server process directly. The launch script name is an optional argument. If you do not supply the launch script name, the default script file name is start_server based on the server name that is passed as the first argument to the startServer command. The -background parameter is an optional parameter that specifies that the generated script will run in the background when you run it.
- -trace
- Generates trace information to the log file for debugging purposes.
- -timeout <seconds>
- Specifies the waiting time before server initialization times out and returns an error.
- -usejobd
- Specifies to use the job description from the Submit Job (SBMJOB) process for the server when
switching to the Run-As user ID.Note: This command does not affect the USER field of the current job description.
Usage scenario
The following examples demonstrate correct syntax. The information within the parentheses is a description of the output that is created if you issue the preceding command.
startServer server1
startServer server1 -script (produces the start_server1.sh or .bat files)
startServer server1 -trace (produces the startserver.log file)
startServer adminagent
startServer.sh server1 -trace -username MyUserName -password MyUserPassword
-profileName MyProfileName (starts the server1 server using the
MyProfileName profile. The server runs under the user name MyUserName,
and produces trace files under the profile_root/logs directory)
startServer server1 (starts the server1 server for the default profile)
startServer server1 -trace (starts the server1 server for
the default profile and produces trace files under the
profile_root/logs directory)
startServer -profileName mytest (starts server mytest
configured under profile mytest)
startServer AdminAgent01
startServer.sh server1 -trace -username MyUserName -password MyUserPassword
-profileName MyProfileName (starts the server1 server using the
MyProfileName profile. The server runs under the user name MyUserName,
and produces trace files under the profile_root/logs directory)
Exit codes
How do you capture the startServer and stopServer return code to determine if this was successful or not? This table shows the return codes for a server given a start or stop command.
#!/bin/sh
exitCode=`./startServer.sh server1`
Server state | Return code |
---|---|
Server initialization failed | -1 |
Server initialization timed out | -2 |
Server start in progress | 1 |
Server is initializing the applications that are present | 2 |
Server initialization is complete (successful) | 0 |
Server stop failed | -10 |
Server stop timed out | -11 |
Server stop operation started | 1000 |
Server successfully stopped | 0 |