qmgr - NQS queue manager program SYNOPSIS qmgr [ args ] DESCRIPTION Qmgr is a program used by the System Administrator or System Operator to control NQS requests, queues, devices, and the general NQS configuration at the local machine. Single commands can be given on the command line, or if there are none, Qmgr enters an interactive session. Definitions An NQS request is a request by a user or user program to perform a function that requires a delay in servicing (e.g., after a certain time). Examples of such functions are the the scheduling of a shared serial-access resource (e.g., a printer), and the scheduling of batch job requests. A device queue holds requests for resources such as printers and Computer Output Microfilm (COM) units. A batch queue holds requests for scheduled, perhaps delayed, processing by various subsystems in the NPSN. A pipe queue is a queue which can pass queued requests on to other pipe queues, batch queues, or device queues. An NQS device is a site at which a shared serial-access resource such as a printer is offered. A daemon is a process which is designed to run continuously, providing some service when needed. (See the QUEUE TYPES section below for more information concerning queues.) Lastly, an NQS manager identifies a person who is capable of changing any NQS characteristic on the local machine. An NQS operator identifies a person who can execute only the operator commands as a proper subset of all the commands provided by the qmgr(1m) utility. Commands The following paragraphs describe the syntax of each Qmgr(1m) command. All command keywords are recognized regardless of upper or lower case usage. Keyword characters shown in uppercase indicate the smallest possible abbreviation of the keyword for the particular command being described. ABort Queue queue [ seconds ] All requests in the named queue that are currently running are aborted as follows. A SIGTERM signal is sent to each process of each request presently running in the named queue. After the specified number of seconds of real time have elapsed, a SIGKILL signal is sent to all remaining processes for each request running in the named queue. If a seconds value is not specified, then the delay is sixty seconds. All output files associated with the requests are returned to the appropriate destination. NQS operator privileges are required to use this command. ADd DEStination = destination queue ADd DEStination = ( destination [ , destination ... ] ) queue The specified destination(s) are added as valid destinations for a pipe queue named queue. Full NQS manager privileges are required to use this command. ADd DEVice = device queue ADd DEVice = (device [ , device ... ] ) queue The specified device(s) are added as resources to service requests from queue. The device(s) must exist (see Create DEVICE below). Full NQS manager privileges are required to use this command. ADd Forms form-name ... The specified form-name(s) are added to the list of valid forms. Full NQS manager privileges are required to use this command. ADd Groups = group queue ADd Groups = ( group [ , group ... ] ) queue The specified group(s) are added to the access list for queue. There are two ways to specify a group: group name [group id] Full NQS manager privileges are required to use this command. ADd Managers manager ... The specified manager(s) are added to the list of authorized NQS managers with privileges as specified. A manager specification consists of an account name specification, followed by a colon, followed by either the letter m or the letter o. There are four ways to specify an account name: local_account_name [local_user_id] [remote_user_id]@[remote_machine_mid] If the account name specification is followed by :m, then the account is designated as an NQS manager account, capable of using all qmgr commands. If the account name specification is followed by :o, then the account is designated as an NQS operator account, capable of only using those commands appropriate for an NQS operator. Full NQS manager privileges are required to use this command. ADd Queues = ( queue [ , queue ... ] ) complex Add the specified queue(s) to the batch queue complex named complex. Full NQS manager privileges are required to use this command. ADd Users = user queue ADd Users = ( user [ , user ... ] ) queue The specified user(s) are added to the access list for queue. There are two ways to specify a user: user name [user id] Full NQS manager privileges are required to use this command. Create Batch_queue queue [ PRiority = n ] [ PIpeonly ] [ Run_limit = n ] [ User_limit = n ] Define a batch queue named queue with inter-queue priority n (0..63). If not specified, the default is 16. If PIpeonly is specified, then requests may enter this queue only if their source is a pipe queue. The specification of a Run_limit sets a ceiling on the maximum number of requests allowed to run in the batch queue at any given time. The default run-limit is one. The specification of a User_limit sets a limit on the maximum number of requests allowed to run in the batch queue at any given time by a particular user. The default user-limit is one. (See the QUEUE TYPES section below for more information.) Full NQS manager privileges are required to use this command. Create Complex = ( queue [ , queue ... ] ) complex Create a queue complex consisting of the specified set of batch batch queues into a queue complex which can have an associated Run_limit and User_limit. Both of these limits default to 1. Full NQS manager privileges are required to use this command. Create DEVICE device FOrms = forms FUllname = filename Server = ( server ) Define a device with the specified forms and associate it with a server. This is done by specifying an absolute path name to the program binary (server) and any arguments required by the program. Filename is the absolute path name of the device (special file) and is typically /dev/device. Full NQS manager privileges are required to use this command. Create DEVICE_queue queue PRiority = n [ Device = device ] [ Device = ( device [ , device ... ] ) ] [ PIpeonly ] Define a device queue named queue with inter-queue priority n (0..63). If PIpeonly is specified, then requests may enter this queue only if their source is a pipe queue. After Device appears a list of one or more devices that may service this queue. (See the QUEUE TYPES section below for more information.) Full NQS manager privileges are required to use this command. Create Pipe_queue queue [ PRiority = n ] [ Server = ( server ) ] [ Destination = destination ] [ Destination = ( destination [ , destination ... ] ) ] [ PIpeonly ] [ Run_limit = n ] [ LB_Out ] [ LB_In ] Define a pipe queue named queue with inter-queue priority n (0..63) and associate it with a server. This is done by specifying an absolute path name to the program binary (server) and any arguments required by the program. If not specified, the default priority is 16, and the default server is NQS_LIB/pipeclient. After Destination appears a list of one or more destination queues that requests from this pipe queue may be sent to. If PIpeonly is specified, then requests may enter this queue only if their source is a pipe queue. Run_limit sets a ceiling on the maximum number of requests allowed to run in the pipe queue at any given time. The default run-limit is one. (See the QUEUE TYPES section below for more information.) If LB_Out is choosing the destination using information about the load on the various destination nodes, if available, or by using a round-robin algorithm if not. Otherwise, one destination in the list will always be chosen and the others ignored. If LB_In is specified, the queue will accept a request only if it can be run immediately in one of its destination queues. Otherwise, the queue will accept all requests, even if they must wait before they can run. (See the LOAD BALANCING section below for more information.) Full NQS manager privileges are required to use this command. DElete Complex complex Delete a queue complex. Full NQS manager privileges are required to use this command. DElete DEStination = destination queue DElete DEStination = ( destination [ , destination ... ] ) queue Delete the mappings from the pipe queue queue to the destination queues. All requests from the named queue being transferred to a deleted destination complete normally. If all destinations for a pipe queue are deleted in this manner, then the pipe queue is effectively stopped. Full NQS manager privileges are required to use this command. DElete DEVice device Delete the specified device. A device must be disabled to delete it from the device set (see DIsable Device below). Full NQS manager privileges are required to use this command. DElete DEVice = device queue DElete DEVice = ( device [ , device ... ] ) queue Delete the mappings from the device queue queue to the device(s). All requests from the named device queue running on any of the named devices are allowed to complete normally. If ALL queue-to-device mappings for the named device queue are removed by this command, then the queue is effectively stopped. Full NQS manager privileges are required to use this DElete Forms form-name ... The specified form-name(s) are deleted from the list of valid forms. Full NQS manager privileges are required to use this command. DElete Groups = group queue DElete Groups = ( group [ , group ... ] ) queue The specified group(s) are deleted from the access list for queue. There are two ways to specify a group: group name [group id] Full NQS manager privileges are required to use this command. DElete Managers manager ... The specified manager(s) are deleted from the list of authorized NQS managers. A manager specification consists of an account name specification, followed by a colon, followed by either the letter m or the letter o. There are four ways to specify an account name: local_account_name [local_user_id] [remote_user_id]@remote_machine_name [remote_user_id]@[remote_machine_mid] If the account name specification is followed by :m, it is understood that the account is currently permitted to use all qmgr commands. If the account name specification is followed by :o, it is understood that the account is currently permitted to use only those commands appropriate for an operator to use. The root account always has full privileges. Full NQS manager privileges are required to use this command. DElete Queue queue The queue is deleted. To delete a queue, no requests may be present in the queue and the queue MUST be disabled (see DIsable Queue below). Any queue-to- device mappings are updated accordingly. If the queue is a destination for a pipe queue, then the queue must be manually deleted as a destination for Full NQS manager privileges are required to use this command. DElete Users = user queue DElete Users = ( user [ , user ... ] ) queue The specified user(s) are deleted from the access list for queue. There are two ways to specify a user: user name [user id] Full NQS manager privileges are required to use this command. DIsable Device device The current request will complete. After that, the device is prevented from handling any more requests until it is enabled (see ENable Device below). If the disabled device was the last enabled device in a queue-to-device mapping, then the device queue is effectively stopped. NQS operator privileges are required to use this command. DIsable Queue queue Prevent any more requests from being placed in this queue. NQS operator privileges are required to use this command. ENable Device device If the device is already enabled, then this is a no-op. Otherwise, the device becomes available to handle requests. NQS operator privileges are required to use this command. ENable Queue queue If the queue is already enabled, then this is a no-op. Otherwise, the queue is enabled to accept new requests. NQS operator privileges are required to use this command. EXit Exit from the NQS manager subsystem. Get help information. Help without an argument displays information about what commands are available. Help with an argument displays information about that command. The command may be partially specified as long as it is unique. A more complete help request yields more detailed information. The Help command provides information that is often more extensive than the command descriptions in this manual page! Use it. Hold request requestid The indicated request is put on hold. Queued and waiting requests become ineligible for processing. Requests in any other state are unaffected. Requests can be made eligible for processing again by use of the RELease Request command. NQS operator privileges are required to use this command. Lock Local_daemon Lock the NQS local daemon into memory. See plock(2). NQS operator privileges are required to use this command. MEmdump option Dump the appropriate internal NQS information to the log file. The available options are LOAD to print load information, and REQ to print the list of requests on the system. This command is used primarily for debugging purposes. No validation of the option is done. Other options may be added in the future. NQS operator privileges are required to use this command. MODify Request requestid [ Nice_limit = nice ] [ RTime_limit = Tlimit ] [ RMemory_limit = Mlimit ] Modify parameters for the request specified by requestid. Nice is the initial nice value for the request. Tlimit is a per request CPU time limit. Mlimit is a per request memory limit. For the syntax of these limits, see the LIMITS section below. NQS operator privileges are required to use this command. Move all requests currently in queue1 to queue2. NQS operator privileges are required to use this command. MOVe Request = (requestid ...) queue Move the request(s) named by the requestid(s) to the named queue. It is only possible to move queued and waiting requests. NQS operator privileges are required to use this command. Purge Queue queue All queued requests are purged (dropped) from the queue and are irretrievably lost. Running requests in the queue are allowed to complete. NQS operator privileges are required to use this command. Quit Exit from the NQS manager subsystem. RELease Request requestid The indicated request is released and is made available for scheduling. NQS operator privileges are required to use this command. REMove Queue = ( queue [ , queue ... ] ) complex Remove the specified queue(s) from the batch queue complex named complex. Full NQS manager privileges are required to use this command. SEt COMplex