Try OpenEdge Now
skip to main content
Administration
Command and Utility Reference : ASBMAN
 

ASBMAN

Starts, stops, adds AppServer agents, trims AppServer agents, refreshes an AppServer and queries the status for an AppServer instance, its AppServer agent and also queries the status of AppServer Refresh command.

Syntax

Operating system
Syntax
UNIX
Windows
asbman {
{ -name AppServer-name
{ -kill | -start | -stop | -query |
-addservers number-to-start|
-trimservers number-to-trim|
      -listclients |
      -clientdetail connection-handle|
      -listallprops |
-refresh |
-refreshStatus |
-cancelRefresh }
}
[ -host host-name -user user-name| -user user-name]
[ -port port-number]
}| -help }
-name AppServer-name
This parameter is required. It specifies the name of an AppServer.
-kill
Stops and removes the AppServer from memory, no matter what it is doing.
-start
Starts an AppServer.
-stop
Tells the AppServer to stop itself.
Note: The AppServer stops only after completing any active client requests.
-query
Queries an AppServer for its status.
-addservers number-to-start
Specifies the number of additional servers to start.
-trimservers number-to-trim
Specifies the number of additional servers to trim.
-listclients
Provides a tabular summary of all clients connected to the AppServer along with information about the clients. The following table describes the information provided by the command.
Table 97. Summary view output fields
Field
Description
ConnHdl (connection handle)
A unique value that identifies the connection. This value is a monotonically increasing number that is assigned when the client connects to the AppServer.
User(username)
The string passed as the user name parameter in the AppServer CONNECT method; otherwise blank. Interpretation of this value is dependent on the application.
Rmt IP(remote IP address )
The IP address of the host machine where the client resides.
Rmt Port(remote port number )
The port number of the client on the client host machine.
State(connection state)
A string that identifies the state of the connection at the time the query was performed. Possible values are:
*CONNECTING
*CONNECTED
*SENDING
*RECEIVING
*DISCONNECTING
Here is sample output for an AppServer with four connections, three of which connected with user names specified:
ConnHdl  User     Rmt IP  Rmt Port  State
-------  ----     ------  --------  --------
1002     jsmith   fd00:19d:808e:1::30   33445 RECEIVING
1003  ljones   127.0.0.1    33457 CONNECTED
1005              fe80::211:43ff:fe37:f598   3546 SENDING
1009   msardy   172.168.0.100    13457 CONNECTING
-clientdetail connection-handle
Provides a detailed view of a specific client that is currently connected to the AppServer. Use -listclients first to find the connection-handle value. The detailed view displays all the information shown in the summary view (-listclients) plus the information described in the following table.
Table 98. Additional detail view output fields
Field
Description
connection ID
The globally unique identifier assigned to each client connection at the time the client connects to the AppServer.This is usually the same value that is accessible to the ABL client application using the CLIENT-CONNECTION-ID attribute on the server object handle, and to the ABL server application using the SERVER-CONNECTION-ID attribute on the session handle.
Note: In state-free operating mode, this value may not be the same as the CLIENT-CONNECTION-ID of the server object handle. In state-free mode, the server object handle is a pool of physical connections, each with a unique client connection ID. Therefore, in state-free operating mode, the CLIENT-CONNECTION-ID of the server object handle is the client connection ID of the first connection added to the pool of connections.
request count
The number of requests executed by the client on the connection including the connection request itself.
agent PID
The process identifier of the AppServer agent actively servicing a request from the specified client. Blank if no request is active.
agent port number
The listening port number of the AppServer agent actively servicing a request from the specified client. Blank if no request is active.
Here is sample output:
connection handle= 1002
username= moe1024
remote IP address= fd00:19d:808e:1::30
remote port number= 33445
connection state= SENDING
connection ID= fd00:19d:808e:1::30::ub1::30901::218a44e2518a4557:3be3e697:11866ab798e:-7ffd
request count= 5001
agent PID= 24336
agent port number= 2006
-listallprops
Displays all active broker properties, including updated values for dynamic properties that have changed.
-host host-name
Specifies the name of the machine where the AdminServer is running. If a host name is not specified, it defaults to the local host name.
-user user-name
Specifies a user name and prompts for a password. A user name and password are required only when you use the -host parameter and specify a remote host name. If you specify a remote host name with the -host parameter but do not specify a user name with the -user parameter, you receive a prompt for a user name and password.
Windows supports three different formats for user-name:
*A user name as a simple text string, such as "mary", implies a local user whose user account is defined on the local Windows server machine, which is the same machine that runs the AdminServer.
*A user name as an explicit local user name, in which the user account is defined on the same machine that runs the AdminServer, except the user name explicitly references the local machine domain, for example ".\mary".
*A user name as a user account on a specific Windows domain. The general format is Domain\User, in which the User is a valid user account defined within the domain and the Domain is any valid Windows Server, including the one where the AdminServer is running.
-port port-number
Specifies the port number of the machine on which the AdminServer is running. If a port number is not specified, it defaults to 20931.
-help
Displays command-line help.

Example

The following table shows several examples that use the ASBMAN command. Assume the AppServer instance is AS1 and the NameServer is NS1.
Table 99. ASBMAN command examples
Task
Command
Start a local AppServer instance after starting the local controlling NameServer.
nsman -name NS1 -start
asbman -name AS1 -start
Start a remote AppServer instance after starting a remote controlling NameServer.1
nsman -name NS1 -host nsserve -port
20950 -user daniel -start
asbman -name AS1 -host asserve -port
20950 -user daniel -start
Stop a local AppServer instance (AS1) and its controlling NameServer instance (NS1).
asbman -name AS1 -stop
nsman -name NS1 -stop

1 The AppServer and controlling NameServer are on different hosts and happen to use the same TCP/IP port number to access the AdminServer on each host. If you specify a host, OpenEdge Management or OpenEdge Explorer always prompts for a user name (if necessary) and password. In this example, the commands specify the user name and prompt only for the password.

-agentdetail
Displays the procedure run by an AppServer agent. You can select the specific AppServer agent by specifying the process ID (PID) of an agent process.

Example

Use the following command to display the .r procedure run by an AppServer agent. It displays the port and connection state of an AppServer agent.
asbman -name <name> -agentdetail <pid>
-agentkill
Stops a specific AppServer agent forcefully. The PID specified to the asbman command must be an agent process for the specified AppServer. Use the kill command to stop a specific AppServer agent on UNIX. Use the taskkill command to stop a specific AppServer agent on Windows Professional Edition. This utility is not supported by the Windows Home Edition.

Example

Use the following command to stop an AppServer agent forcefully.
asbman -name <name> -agentkill <pid>
-agentstop
Stops an AppServer agent gracefully.

Example

Use the following command to stop an AppServer agent.
asbman -name <name> -agentstop <pid>
-refresh
Allows the users to trim individual agents and restart new ones in order to gradually to migrate to a new version of r-code from their current version. Details of a Refresh operation are logged at a verbose level.

Example

Use the following command to refresh an AppServer.
asbman -name <name> -refresh
-cancelRefresh
Cancels a refresh command. This command cancels a refresh operation that is running for too long. It will also stop any busy agent marked for refresh from getting trimmed automatically. The broker will not add new agents for any agent that were trimmed when the cancelled refresh operation was running. An administrator can add more agents if needed. After the refresh is cancelled, a message is returned indicating that the refresh was successful. If no refresh was active for that broker, the following message is returned:
Refresh for <brokerName> is not active

Example

Use the following command to cancel the refresh command issued for an AppServer.
asbman -name <name> -cancelRefresh
-refreshStatus
This command returns detailed information that is captured in the following table:
Table 100. Refresh detail view output fields
Field
Value
Description
Refresh Active
Yes/No
If the refresh is not active, and if there was a refresh operation issued earlier, it shows the refreshStatus of that that operation
Refresh Start Time
yyyy-MM-dd'T'HH:mm:ss.SSS
Start time of the currently executing refresh operation. If no refresh is active, it shows the start time of the latest refresh operation that was completed
Refresh End Time
yyyy-MM-dd'T'HH:mm:ss.SSS
End time of the latest refresh operation that was completed. This is not applicable for a running refresh operation
Refresh Cancel Time
yyyy-MM-dd'T'HH:mm:ss.SSS
The time when a refresh operation was cancelled
Agents at refresh start
Integer value >= 0
Number of agents that were running at the time when refresh command was issued
Agents marked for refresh
Integer value >= 0
Number of agents that are marked to be refreshed. Agents that are busy will be marked for refresh and will be stopped only after they become available. Also the agents that were added after refresh operation started will not be refreshed. This field will be displayed for active refresh operation only.
New agents added during refresh
Integer value >= 0
No. of agents that got added after the refresh was issued. These agents won't be running old r-code, so they will not be marked for refresh
Agents at refresh cancel
Integer value >= 0
No. of agents running at the time of refresh cancellation
Agents refreshed
Integer value >= 0
It shows the actual number of agents refreshed for a refresh operation that is complete
Refresh operation count
Integer value >= 0
Number of times a refresh operation is invoked including the currently executing refresh operation since start of the broker
Refresh cancel count
Integer value >= 0
Number of times a refresh cancellation was is invoked since start of the broker
PID of agents marked for refresh
Integer value >= 0
Number of agents added after the refresh was issued. This doesn't include the agents that were started as replacement agents. This include agents added due to addservers or new client requests.
PID of agents refreshed
Integer value >= 0
List the PID of agents that were Refreshed(replaced by new agents)..

Example

Use the following command to query the status of a refresh command issued for an AppServer.
asbman -name <name> -refreshStatus