Stopping servers using scripting

You can stop servers using scripting and the wsadmin tool.

Before you begin

Before starting this task, the wsadmin tool must be running. See the topic about starting the wsadmin scripting client using wsadmin scripting for more information.

About this task

Restriction: Concurrently stopping servers using Jacl or Jython threading (multiple threads) methods is not supported in WebSphere®Application Server Version 7.0.

Procedure

Use the stopServer command to stop the server. This command has several syntax options. For example:
  • To stop a server on a WebSphere Application Server single server edition, choose one of the following options:
    • The following examples specify the server name only:
      Using Jacl:
      $AdminControl stopServer serverName
      Using Jython:
      AdminControl.stopServer('serverName')
    • The following examples stop an application server with the node specified:
      • Using Jacl:
        $AdminControl stopServer serverName mynode
      • Using Jython:
        print AdminControl.stopServer('serverName', 'mynode')
      Example output:
      WASX7337I: Invoked stop for server "serverName" Waiting for stop completion.
      WASX7264I: Stop completed for server "serverName" on node "mynode"

      When you stop a server by using the stopServer command, the normal server quiesce process is governed by the com.ibm.ejs.sm.server.quiesceTimeout Java virtual machine (JVM) custom property, which defaults to 180 seconds.

      • The following examples specify the server name and the immediate argument:
        • Using Jacl:
          $AdminControl stopServer serverName immediate
          
        • Using Jython:
          AdminControl.stopServer('serverName', immediate)

        When you stop a server by using the immediate argument, the com.ibm.ejs.sm.server.quiesceTimeout JVM custom property employs a value of 0 seconds.

      • The following examples specify the server name and the terminate argument:
        • Using Jacl:
          $AdminControl stopServer serverName terminate
        • Using Jython:
          AdminControl.stopServer('serverName', terminate)

        Because using the terminate argument is analogous to an OS command-line kill -9 <pid> command, some application clients might receive exceptions. Therefore, always attempt to stop a server by using the immediate argument before you use the terminate argument.

  • To stop a server on a WebSphere Application Server network deployment edition, choose one of the following options:
    • The following example specifies the server name and the node name:
      • Using Jacl:
        $AdminControl stopServer serverName nodeName
      • Using Jython:
        AdminControl.stopServer('serverName', 'nodeName')
      • When you stop a server by using the stopServer command, the normal server quiesce process is governed by the com.ibm.ejs.sm.server.quiesceTimeout Java virtual machine (JVM) custom property, which defaults to 180 seconds.

      • The following example specifies the server name, the node name, and the immediate argument:
        • Using Jacl:
          $AdminControl stopServer serverName nodeName immediate
        • Using Jython:
          AdminControl.stopServer('serverName', 'nodeName', immediate)
        • When you stop a server by using the immediate argument, the com.ibm.ejs.sm.server.quiesceTimeout JVM custom property employs a value of 0 seconds.

        • The following examples specify the server name, the node name, and the terminate argument:
          • Using Jacl:
            $AdminControl stopServer serverName nodeName terminate
          • Using Jython:
            AdminControl.stopServer('serverName', 'nodeName',  terminate)

          Because using the terminate argument is analogous to an OS command-line kill -9 <pid> command, some application clients might receive exceptions. Therefore, always attempt to stop a server by using the immediate argument before you use the terminate argument.