The OPERATE Procedure

User Management Commands

Displaying Information about a User

You use the DISPLAY USER command to display information about one or more users who are accessing the current server. Summary information is followed by detailed information for each user who has one or more libraries assigned. Here is the syntax for this command:
DISPLAY USER user-ID-1 <...user-ID-n>;
DISPLAY USER _ALL_;
user-ID-1
specifies one user ID. User-ID-n specifies multiple user IDs. For more information, see Specifying a User.
_ALL_
displays summary information for other administrators and for all users who were connected and have been explicitly stopped.
The next example contains two types of librefs.
user libref
is a user-defined name for referring to a library. It is provided only as an aid for communicating with the user, if necessary.
server libref
is a user-defined name that a server administrator assigns to the library by using one of these methods:
  • a LIBNAME statement specified before the PROC SERVER statement
  • an ALLOCATE LIBRARY command in PROC OPERATE
  • an operating environment-dependent external allocation
In SAS 9.3, a library that is not defined by using one of these methods does not have a server libref. Therefore, administrative commands that subsequently refer to that library must use the library name that is specific to the operating environment (for example, a UNIX pathname).
DISPLAY USER 15;
           USER ID       STATUS      LIBRARIES
          -----------------------------------
          MIKE(15)      ACTIVE         2
The preceding summary information is followed by detailed information. For example, user MIKE(15) is accessing the following libraries:
USER LIBREF   SERVER LIBREF    LIBRARY NAME
 -------------------------------------------------
 USAGE         USAGE           SAS-lib
 MEM                           SAS-lib
User MIKE(15) is accessing the following data sets:
USER   SERVER    MEMBER     TYPE       OPEN MODE
 LIBREF LIBREF
 ---------------------------------------------------
 USAGE  USAGE     USAGE      CATALOG    UPDATE
 USAGE  USAGE     MODULE     DATA       INPUT
 MEM              MEMOBY     DATA       INPUT
In this example, MIKE(15) currently has files open in both of the libraries to which he currently has access. If user MIKE(15) had no files opened when the DISPLAY USER command was issued, only the first two parts of the output would be displayed.
The SERVER LIBREF that is missing in the preceding output indicates that the USER LIBREF MEM is not server-defined.
Alias DISP USER, D USER

Quiescing User Access to a Server

You use the QUIESCE USER command to gradually terminate a user's access to a SAS/SHARE server and deny new user requests for resources. This command moves the user from an active status to a stopped status. When a quiesced user closes all files in a server library, the server releases that user's access to the library. If the user has no open files in an accessed server library, the server terminates that user's access to the library immediately. When the user has released all server libraries, the user ID is assigned a stopped status and is disconnected from the server. While a user is quiesced or stopped, the START USER command can be issued to change the user's status back to active. Here is the syntax for this command:
QUIESCE USER user-ID-1 <...user-ID-n>;
QUIESCE USER _ALL_;
user-ID-1
specifies the ID of a user whose access to the server will be terminated. user-ID-n specifies the IDs of multiple users whose access will be terminated. For more information, see Specifying a User.
_ALL_
quiesces all users who are connected to the current server except the administrator who issues the command. You cannot quiesce yourself. However, you can quiesce other server administrators by name. When PROC OPERATE terminates and its server session is quiesced, that administrator is assigned a stopped status.
Alias QUI USER, Q USER

Restarting a Quiesced or a Stopped User

You use the START USER command to restart any users who have been stopped or quiesced. Because users are allowed access to a SAS/SHARE server by default, this command is necessary only to undo the effect of a previous STOP USER or a QUIESCE USER command. Here is the syntax for this command:
START USER user-ID-1 <...user-ID-n>;
START USER _ALL_;
user-ID-1
specifies the ID of a user whose access to the server was terminated. user-ID-n specifies the IDs of multiple users whose access to the server was terminated. When a stopped user ID is restarted, that user ID becomes unknown to the server. For information, see Specifying a User.
_ALL_
restarts all users who are quiesced or stopped.
Alias ST USER

Terminating User Connections to a Server

You use the STOP USER command to immediately terminate user connections to a server. The server closes library members that the user has open, terminates the user's access to libraries that are accessed through the server, and terminates the user's communication path to the server. If the user is updating a data set when the command is issued, updates might be lost. Because users are allowed access to a SAS/SHARE server by default, this command can be useful as a security tool. Here is the syntax for this command:
STOP USER user-ID-1 <...user-ID-n>;
STOP USER _ALL_;
user-id-1
specifies the user ID of a user whose status is currently active or quiesced, and stops users who are not currently using the server. User-ID-n specifies the IDs of multiple users who currently have access to the server. For more information, see Specifying a User.
_ALL_
stops all users who are currently active or quiesced, except the administrator who issues the command. You cannot stop yourself. However, you can stop other server administrators.