Updated February 2022; see History
QUTL {switches}
QUTL is an interactive utility offering several functions related to QFLOCK.SYS and JOBTBL.SYS. As it is capable of interfering with other jobs, it can only be run from the OPR: account, which may be password-protected to limit access. When launched without any switches, it bring up this menu:
A-Shell QFLOCK.SYS/JOBTBL.SYS utility program version 3.1
Enter: STATUS - display status of queue file FLIST - list all FLOCK locks FINIT - initialize FLOCK lock list XLIST - list all XLOCK locks XINIT - initialize XLOCK lock list ZAP - remove all queue entries for a job (by name) ZAPPID - remove all queue entries for a process id # ZAPURJ - remove all queue entries for unresponsive jobs EXIT - exit to A-Shell
Enter choice: ________
|
Switches
Switch |
Effect of Switch |
---|---|
(none) |
Program runs in interactive mode |
/FL:fspec |
Output flock list to specified fspec |
/XL:fspec |
Output xlock list to specified fspec |
/ZAPURJ |
Non-interactive version of ZAPURJ command |
Comments
A-Shell on multi-user (and even stand-alone) systems uses a queue file, qflock.sys, in which to store information which may be shared by multiple users. This file is in the form of a linked list, analogous to the AMOS queue blocks system, and is used by the FLOCK and XLOCK subroutines.
The QUTL command is primarily intended to give some control over the FLOCK and XLOCK locks present on the system, by reading and processing the queue file. It can display which users currently have locks, and is also able to re-initialize the XLOCK and FLOCK queue lists , a process which normally requires a machine reset under AMOS, or some specially written assembly language routines. QUTL may also be used to zap a logged on A-Shell user. This will remove all locks and queue blocks associated with that user, and although the user may continue to be able run whatever program they are in, as soon as it attempts to make an XLOCK or FLOCK call, or when it exits back to the dot prompt, it will see that it has been removed from the queue and will abort with an appropriately (cryptic) error message. (Something like "your queue file has been zapped.")
When used to list the existing XLOCKs and/or FLOCKs, QUTL provides an option to output the list to a file. This, combined with the fact that you can run QUTL from a command file, provides a mechanism for nightly processing programs to check if any locks were left in use, and optionally remove them (either by zapping the queue entirely, or just the user, or by using the KILL.LIT utility).
History
2023 January, A-Shell 6.5.1724, QUTL.LIT 3.1(133): add option to choose job to ZAP from a pick list.
2021 December, A-Shell 6.5.1709, QUTL.LIT 3.1(132): add new command/switch "ZAPURJ" (for ZAP UnResponsive Jobs) to remove all abandoned job table entries resulting from sessions terminating without cleanly exiting from A-Shell. The command may be specified interactively from the QUTL menu, or via the /ZAPURJ command line switch.
2016 November, A-Shell 6.4.1534, QUTL.LIT 3.1(129): Remove previous maximum of 20000 FLOCK or XLOCK records and reduce the fixed partition memory requirement from approximately 700K to 200K by using dynamic arrays.