I have a program which gathers statistics on various aspects of our system, and one of thing which we gather information on is the size of our queue. To accomplish this, in the past I have been passing the qspl command to qmadmin:
echo qspl CBQ | qmadmin <path to queue>
qmadmin - Copyright (c) 2007-2008 Oracle.
Portions * Copyright 1986-1997 RSA Data Security, Inc.
All Rights Reserved.
Distributed under license by Oracle.
tuxedo is a registered trademark.
QMCONFIG=<path to queue>
IPC key: 65130
Error queue: Q_ERR
Initialization: y
Blocking factor: 16
Extents: 1
Extent 0: 2056 blocks
Shared memory usage:
Additional actions: 0 0 bytes
Additional owners: 0 0 bytes
Maximum cursors: 0 0 bytes
Maximum handles: 0 0 bytes
Maximum messages: 10000 2000000 bytes
Maximum processes: 50 4800 bytes
Maximum queues: 5 2800 bytes
Maximum temporary queues: 0 0 bytes
Maximum transactions: 50 10400 bytes
Filter memory: 0 bytes
Non-persistent message memory: 1049600 bytes
Overflow memory: 100065 bytes
System reserved memory: 252333 bytes
Total shared memory usage: 3419998 bytes
In the past (Tuxedo 8.1 to Tuxedo 10.3) this worked without issue. However, now when I execute this command I am getting errors thrown from qmadmin about the command not existing. I have also observed this using the livtoc command as well. This works for tmadmin commands on 11 (echo psc | tmadmin -r). The proper output from qspl is displayed, however an infinite amount of quit command not found errrors appear, sticking qmadmin in a loop.
echo qspl CBQ | qmadmin <path to queue>
Q_CAT:1111: ERROR: Command quit
not found
Is there an issue with piping in commands via echo for the qmadmin tool in v11 that I'm not aware of? Or could there be something more at play here? Note that I'm only attempted this on a combination of Tuxedo 11 and OEL 5.3.
--友情转载