Back to home page

Enduro/X

 
 

    


0001 XADMIN(8)
0002 ========
0003 :doctype: manpage
0004 
0005 NAME
0006 ----
0007 xadmin - Enduro/X Administration command line utility
0008 
0009 SYNOPSIS
0010 --------
0011 *xadmin* ['COMMAND'] ['OPTIONS']
0012 
0013 DESCRIPTION
0014 -----------
0015 'xadmin' is command line interface to Enduro/X. It is administration utility.
0016 Which is servers as communication interface between Enduro/X ATMI local daemon
0017 and administrator. 'xadmin' can receive commands as parameter to 'xadmin'. It
0018 can read command from pipe (stdin). And it can work in interactive mode. In this
0019 case 'xadmin' is started with no parameters.
0020 
0021 'xadmin' is responsible to start idle instance of 'ndrxd'. After that 'xadmin'
0022 sends commands to 'ndrxd' and prints the response from daemon to the stdout in
0023 human readable form. Commands are sent and response from 'ndrxd' are received
0024 via POSIX Queues.
0025 
0026 'xadmin' can lookup the configuration (currently used for user specific
0027 generators). The configuration search order is following:
0028 
0029 1. INI file by 'NDRX_XADMIN_CONFIG' environment variable. This can also be
0030 a directory. The common-config routines will load all configs (.ini .cfg,
0031 .conf, .config) files.
0032 
0033 2. INI file in '$HOME/.xadmin.config';
0034 
0035 3. INI file in '/etc/xadmin.config';
0036 
0037 
0038 COMMANDS
0039 -------
0040 *quit*::
0041     Quit from command line utility
0042 *q*::
0043     Alias for quit
0044 *exit*::
0045     Alias for quit
0046 *echo*::
0047     Echo text back to terminal
0048 *idle*::
0049     Enter daemon process in idle state (if not started)
0050 *help*::
0051     Print help (this output)
0052 *stat*::
0053     Prints general status information
0054 *poller*::
0055     Print polling sub-system name i.e. *epoll* - when build is using Linux e-poll 
0056     sub-system, this allows true one queue multiple server approach to be used.
0057     *kqueue* - the same benefits as for Linux *epoll* only on BSD platform, 
0058     *SystemV* - for this build System V queues are used (instead for others Posix
0059     queues are used). In case of System V still one queue multiple servers are
0060     available with configuration of request address. *poll* - this is worst mode
0061     for Enduro/X as only Round Robin message distribution is available for
0062     dispatching messages to servers. This uses only standard features of Posix
0063     queues.
0064     The poller is built in the distribution and cannot be changed via configuration,
0065     only possible changing is with reinstalling other Enduro/X build.
0066 *ldcf*::
0067     Load configuration
0068 *start* [-y] [(-s <server>) | (-i <srvid>) | (-g <procgrp>)]::
0069     Start application domain. If config not loaded, it loads
0070     configuration automatically. *-y* means do not ask for confirmation. *-s* means
0071     ATMI servers binary name to be started, instead of whole application domain.
0072     *-i* means start specific server instance. In case if *ndrxd(8)* was busy
0073     with other session tasks (other terminal start/stop or internal server reload
0074     on limited memory use), the xadmin will re-attempt to send message to *ndrxd*
0075     before giving up. The number of attempts are configured in *NDRX_NORMWAITMAX*
0076     environment variable (default is 60), between attempts 1 second sleep is done.
0077     see *ex_env(5)*. Parameter *-g* allows to start all startable processes from the
0078     process group.
0079 *psc*::
0080     Print services
0081 *stop* [-y] [(-s <server>) | (-i <srvid>) | (-g <procgrp>)] [-k] [-f] [-l]::
0082     Stop application domain. *-y* means do not ask for confirmation. *-s* means
0083     ATMI servers binary name to be stopped, instead of whole application domain.
0084     *-i* means stop specific server instance. *-k* flag will keep *ndrxd* running,
0085     and protected servers will not be shutdown. In case if *ndrxd(8)* process
0086     is doing start or stop for other xadmin session (or doing internal server
0087     reloads in case if memory limits reached), then command will perform several
0088     re-attempts for executing the command. The attempts are configured in 
0089     *NDRX_NORMWAITMAX* environment variable. Between attempts, 1 second sleep is
0090     done. In case if *stop* command was unable to send message to *ndrxd*, command
0091     will exit with failure, and will not wait for *ndrxd* termination.
0092     In case if *-f* force flag is set, the xadmin will wait indefinitely until
0093     *ndrxd* will not be found in the system. No matter message was sent to ndrxd
0094     or not. see *ex_env(5)*. When full stop is performed, the Latent Command
0095     Framework (LCF) commands are cleared and set to 'disable'. LCF memory is
0096     left after the shutdown. If re-reconfiguration of LCF memory segments is
0097     required (env setting NDRX_LCFMAX), then run *xadmin down* and then start
0098     the application, it will create shm. If after the shutdown commands shall
0099     be kept, then use *-l* option, it will leave LCF memory as is without setting
0100     to disable. Parameter *-g* allows to stop all processes from the
0101     process group.
0102 *sreload* [-y]  [(-s <server>) | (-i <srvid>) | (-g <procgrp>)]::
0103     Reload application domain - restart server instance by instance.
0104     Configuration be loaded prior.
0105     *-y* means do not ask for confirmation. *-s* means ATMI servers binary name 
0106     to be reloaded, instead of whole application domain.
0107     *-i* means restart specific server instance. This affects only those server
0108     instances which were marked for start. Parameter *-g* allows to reload
0109     all processes within the process group.
0110 *sr*::
0111     Alias for 'sreload'
0112 *psc* [-s] ::
0113     Print available services. '-s' used to show full service name *30* symbols.
0114 *down* [-y]::
0115     Force appserver shutdown & resources cleanup. RUN ONLY IF YOU KNOW WHAT YOU ARE DOING!
0116     Basically this kills all ATMI servers and Enduro/X daemon. This does NOT remove client
0117     processes.
0118 *cat*::
0119     Attached console to ndrxd user session in progress.
0120 *reload*::
0121     Load new configuration. Note that *<services>* and *<routing>* tags are reloaded
0122     in deferred mode. I.e. changes are applied after certain number sanity cycles
0123     have been completed by *ndrxd(8)*. See *ndrxconfig.xml(5)* 
0124     tag *<endurox>/<appconfig>/<ddrreload>*.
0125 *testcfg*::
0126     Test new configuration.
0127 *unadv* -i server_id -s service_name::
0128     Un-advertise service. '-i' is server id, '-s' is service name to be
0129     unadvertised.
0130 *readv* -i server_id -s service_name::
0131     Re-advertise service. Might be usable if service Q was unlinked.
0132     '-i'  is server id, '-s' is service name to be re-advertised.
0133 *restart* [-y]  [(-s <server>) | (-i <srvid>) | (-g <procgrp>)]::
0134     Restart app or service (invokes start & stop with same args!). *-y*
0135     makes to not to ask for confirmation. *-s* is server/binary name. *-i* is server ID.
0136     Parameter *-g* allows to restart all processes within the process group.
0137 *r*::
0138     Alias for 'restart'
0139 *-v*::
0140     Print version info.
0141 *ver*::
0142     Alias for '-v'
0143 *ppm* [-2] [-3]::
0144     Print process model. The argument *-2* show second page of process model
0145     attributes. Argument *-3* prints process group information related to the
0146     processes.
0147 *psvc* [-r]::
0148     Shared mem, print services. '-r' used for System V and Poll modes where
0149     resource identifiers are printed (either msgid (for System V) or pid for
0150     Poll mode).
0151 *psrv*::
0152     Shared mem, print servers
0153 *cabort* [-y]::
0154     Abort shutdown or startup operation in progress. '-y' do not ask for confirmation.
0155 *sreload* [-y] [-s <server>] [-i <srvid>]::
0156     Restart servers instance by instance
0157 *pq*::
0158     Print Queue statistics from ndrxd.
0159 *pqa* [-a]::
0160     Print all queues including client and admin Q. '-a' includes other prefix queues.
0161 *pt*::
0162     Print global transactions in progress.
0163 *printtrans*::
0164     Alias for 'pt'.
0165 *abort* -t <transaction_manager_reference> -x <XID> [-g <resource_manager_id>] [-y]::
0166     Abort transaction. '-g' does abort single resource manager's transaction.
0167     '-y' is for auto confirmation.
0168 *aborttrans*::
0169     Alias for 'abort'.
0170 *commit* -t <transaction_manager_reference> -x <XID> [-y]::
0171     Commit transaction. '-y' is for auto confirmation.
0172 *committrans*::
0173     Alias for 'commit'.
0174 *recoverlocal* [-s <TM SERVICE>]::
0175     List local/for each TMSRV heuristic in-doubt transactions. This makes query
0176     to RM with xa_recover. With '-s' flag specific TMSRV service can be specified.
0177     otherwise all visible TMSRV servers are queried.
0178 *commitlocal* [-s <TM SERVICE> [-x <XID>]] [-y]::
0179     Commit in-doubt transaction. If '-x' xid reported by recoverlocal is not
0180     specified, then all transactions are tried to be committed. If '-s' is set
0181     then specific TMSRV instance service is queried. If '-x' is set, '-s' must
0182     be set too, because specific XID must be part of some specific instance.
0183     The status of particular operation is reported back to stdout. Note that
0184     only prepared transactions can be processed by this command. Heuristically
0185     committed/aborted transaction may be only forgot. If so, context errors
0186     may be given.
0187 *abortlocal* [-s <TM SERVICE> [-x <XID>]] [-y]::
0188     Abort in-doubt transaction. If '-x' xid reported by recoverlocal is not
0189     specified, then all transactions are tried to be aborted. If '-s' is set
0190     then specific TMSRV instance service is queried. If '-x' is set, '-s' must
0191     be set too, because specific XID must be part of some specific instance.
0192     The status of particular operation is reported back to stdout. Note that
0193     only prepared transactions can be processed by this command. Heuristically
0194     committed/aborted transaction may be only forgot. If so, context errors
0195     may be given.
0196 *forgetlocal* [-s <TM SERVICE> [-x <XID>]] [-y]::
0197     Abort in-doubt transaction. If '-x' xid reported by recoverlocal is not
0198     specified, then all transactions are tried to be forgotten. If '-s' is set
0199     then specific TMSRV instance service is queried. If '-x' is set, '-s' must
0200     be set too, because specific XID must be part of some specific instance.
0201     The status of particular operation is reported back to stdout.
0202 *pe*::
0203     Print Environment variables of 'ndrxd' process.
0204 *printenv*::
0205     Alias for 'pe'.
0206 *set* ENV_NAME=ENV VALUE::
0207     Set environment value. The value of env variable is parsed as command line arguments.
0208     Prior sending to 'ndrxd' they are concatenated with spaces in between.
0209 *unset* ENV_NAME::
0210     Unset environment variable
0211 *pc*::
0212     Print client processes. This sends command to Client Process Monitor server ('cpmsrv').
0213 *bc* (-t <process_tag> [-s <sub_section>]) | (-g <procgrp>) [-w <wait_time>]::
0214     Boot client process. This sends command to Client Process Monitor server ('cpmsrv').
0215     Processes are registered in 'ndrxconfig.xml' '<clients>' section. If sub section
0216     is not specified, then default value is minus sign ('-'). The 'process_tag'
0217     and 'sub_section' can contain wildcards percent ('%') sign. Then boot process will
0218     be executed in batch mode and progress will be returned to the xadmin's output.
0219     When running in batch mode 'wait_time' is time in milliseconds to sleep after
0220     each matched process is marked for start. Note that 'wait_time' shall be less
0221     than global timeout specified in 'NDRX_TOUT' env variable (or cconfig '[@global]'
0222     section). Parameter *-g* allows to start all startable clients within the
0223     process group.
0224 *sc* (-t <process_tag> [-s <sub_section>]) | (-g <procgrp>) [-w <wait time in milliseconds>]::
0225     Stop client process. This sends command to Client Process Monitor server ('cpmsrv').
0226     The process is stopped by 'process_tag' and optional 'sub_section'. If sub section
0227     is not specified, then default value is minus sign ('-'). The 'process_tag'
0228     and 'sub_section' can contain wild-card percent sign ('%'), then stopping is executed
0229     in batch mode (stop all matched running processes). If 'wait_time' is specified
0230     then in batch mode it is sleep in milliseconds after each stopped process.
0231     Note that 'wait_time' shall be less
0232     than global timeout specified in 'NDRX_TOUT' env variable (or cconfig '[@global]'
0233     section). Also time needed for stopping shall be counted in. If the timeout
0234     occurs, cpmsrv will complete the operation anyway.
0235     Parameter *-g* allows to stop all the clients within the process group.
0236 *rc* (-t <process_tag> [-s <sub_section>]) | (-g <procgrp>) [-w <wait time in milliseconds>]::
0237     Reload client process. This sends command to Client Process Monitor server ('cpmsrv').
0238     The process is reloaded (stopped/marked for start) by 'process_tag' and 
0239     optional 'sub_section'. If sub section is not specified, 
0240     then default value is minus sign ('-'). The 'process_tag' and 'sub_section' 
0241     can contain wild-card percent sign ('%'), then reloading is executed
0242     in batch mode (stop/start running processes one by one). 
0243     If 'wait_time' is specified then in batch mode it is sleep in 
0244     milliseconds after each stopped process. Note that 'wait_time' shall be less
0245     than global timeout specified in 'NDRX_TOUT' env variable (or cconfig '[@global]'
0246     section). Also time needed for stopping shall be counted in. If the timeout
0247     occurs, cpmsrv will complete the operation anyway. The 'wait_time' can be
0248     used in cases when reloading the binaries without service interruption,
0249     in that case 'wait_time' should contain the *cpmsrv's* interval check 
0250     time ('-i' flag) because for start operation binary is only marked for 
0251     boot and not the booted. Basically this executes sc/bc for each of the 
0252     matched processes.
0253     Parameter *-g* allows to restart all the clients within the process group.
0254 *mqlc*::
0255     List queue configuration. This broadcasts the requests of config listing to all 
0256     'tmqueue' servers. If flags column contains 'D' flag, then it means that queue
0257     was dynamically defined and QDEF string contains values from default queue.
0258 *mqlq*::
0259     List actual queues allocated on system. Similarly as for 'mqlc' this requests
0260     the information from all 'tmqueue' servers. '#LOCK' column contains the number
0261     of active non committed messages in Q. '#SUCC' and '#FAIL' column contains number
0262     of processed messages for automatic queues (messages are sent to destination services
0263     automatically by 'tmqueue' server.
0264 *mqrc*::
0265     This command requests all queue servers to reload the configuration file.
0266 *mqlm* -s <QSpace> -q <QName>::
0267     List messages in queue. '-s' is queue space name (set by 'tmqueue' '-m' paramemter).
0268     The output lists the message ID in modified base64 version ('/' changed to '_').
0269 *mqdm* -n <Cluster node id> -i <Server ID> -m <Message ID>::
0270     Dump/peek message to stdout. The values from '-n' (node id), '-i' (srvid), '-m'(message id)
0271     can be taken from 'mqlm' command. This command prints to stdout, the 'TQCTL' structure in form
0272     of UBF buffer and the message it self. If message is UBF, then UBF dump is made, otherwise
0273     hexdump of message is printed.
0274 *mqch* -n <Cluster node id> -i <Server ID> -q <Q def (conf format)>::
0275     Change/add queue defnition to particular 'tmqueue' server. The format of the queue definition
0276     is the same as used 'q.conf(5)' (see the man page). You may miss out some of the bits 
0277     (except the queue name). Those other bits will be take from default q.
0278 *mqrm* -n <Cluster node id> -i <Server ID> -m <Message ID>::
0279     Remove message from queue. You have to identify exact queue space server here by
0280     Enduro/X cluster id and server id.
0281 *mqmv* -n <Source cluster node id> -i <Source server ID> -m <Source Message ID> -s <Dest qspace> -q <Dest qname>::
0282     Move the message from specific qspace server to destination qspace and qname. The bits 
0283     from 'TPQCTL' which are returned by 'tpdequeue()' call are preserved in new 'tpenqueue()' call.
0284     Note that for this call 'xadmin' must be in invalid XA environment, so that
0285     distributed transaction can be performed.
0286 *killall* <name1> [<name2> ... <nameN>]::
0287     Kill all processes given by 'ps -ef'. The command does match the name in 
0288     the line. If substring is found, then process is killed.
0289 *qrm*   <qname1> [<qname2> ... <qnameN>]::
0290     Remove specific Posix queue.
0291 *qrmall* <substr1> [<substr2> ... <substrN>]::
0292     Remove queue matching the substring.
0293 *provision* [-d] [-v<param1>=<value1>] ... [-v<paramN>=<valueN>]::
0294     Prepare initial Enduro/X instance environment, create folder structure,
0295     generate configuration files with ability to register all available services.
0296 *gen* [-d] [-v<param1>=<value1>] ... [-v<paramN>=<valueN>]::
0297     Generate application sources. See the xadmin's help for more details.
0298     Currently it is possible to generate C and Go sources and the UBF buffer
0299     headers for both languages. By running the command, wizards will be offered
0300     asking for different details. Which later can be reconfigured by
0301     *-d* - allowing to default the wizard, while *-v* allows to set
0302     wizard values from command line.
0303 *pubfdb*::
0304     Print UBF custom fields database contents to the terminal.
0305 *cs* <cache_db_name>|-d <cache_db_name>::
0306     Print cache contents (headers) to the terminal. The database name is
0307     specified in 'cache_db_name' parameter.
0308 *cacheshow*::
0309     Alias for 'cs'.
0310 *cd* -d <dbname> -k <key> [-i interpret_result]::
0311     Dump specified message to the terminal. With specified '-i' flag, the attempt
0312     for data interpretation will be made. For UBF buffers the output will be
0313     formatted with command *Bprint()*.
0314 *cachedump*::
0315     Alias for 'cd'.
0316 *ci* -d <dbname> [-k <key>][-r use_regexp]::
0317     Invalidate cache. In case if only '-d' is specified, whole database will
0318     be dropped. Exact record may be dropped with '-k' flag. In case if '-r' is
0319     used, then key will be matched as regular expression over the data keys. In
0320     case if drop database is used, linked keygroup records are not processed. For
0321     other scenarios, linked records are processed according to the configuration.
0322 *cachedump*::
0323     Alias for 'cd'.
0324 *svmaps* [-p] [-s] [-a] [-i] [-w] ::
0325     Command is available only for System V messaging sub-system. Command prints
0326     the Queue ID (same ids from *ipcs* command) mappings to Posix queues used
0327     by Enduro/X. *-p* parameter (which is enabled by default) prints the mapping
0328     table from Posix Queue to System V. *-s* parameter uses reverse table by
0329     printing System V mappings to Posix. *-a* enables to print all the entries
0330     in the shared memory (there could be lots of lines printed. Totally set by
0331     *NDRX_MSGQUEUESMAX* environment variable). *-i* (used by default) prints 
0332     only the queues which currently are in use. *-w* prints mappings which
0333     were in use, but currently are not in use. The *-i*, *-w* arguments can
0334     be combined.
0335 *shms*::
0336     Shows currently open shared memory segments.
0337 *pmode*::
0338     Prints technical information about Enduro/X build mode 
0339     (basically ndrx_config.h).
0340 *ps* [-a filter] [-b filter] [-c filter] [-d filter] [-r regexpfilter] [-p] [x pid]::
0341     Print running processes in system with command line arguments. This is similar
0342     to *ps -ef* in Linux or equivalents on other Operating Systems. Enduro/X
0343     *ps* command does not print the *xadmin* process, it is filtered out by
0344     default. The flags *-a*, *-b*, *-c* and *-d* are just a words that must
0345     be substring for the the ps output (i.e. basic grep). The *-r* argument is
0346     regular regular expression that must be matched. If none of these arguments
0347     are passed, then no filtering is done and max output is done (except the
0348     xadmin by it self). To enable printing PID only, use *-p* argument. To exclude
0349     particular PID from printing, use *-x* argument. The memory stats in kilobytes
0350     can be printed with turning on argument *-m* which must be used together with
0351     *-p*, then output is printed in format: "<pid>:<RSS>:<VSZ>", where RSS and
0352     VSS memory is printed in Kilobytes.
0353 *appconfig* SETTING [NEWVALUE]::
0354     Change *ndrxconfig.xml(5)* "appconfig" section arguments dynamically for the
0355     process running. Settings available for changing are *sanity*, *checkpm*, 
0356     *brrefresh*, *restart_min*, *restart_step*, *restart_max*, 
0357     *restart_to_check*, *gather_pq_stats* and *rqaddrttl*. For their descriptions
0358     and possible values see *ndrxconfig.xml(5)* manpage. The syntax for command
0359     is that if *NEWVALUE* is not provided, then current value is printed. If
0360     *NEWVALUE* is provided, then value is changed and new value is printed to
0361     stdout. *ndrxd* must be running (or will be started in idle state). Note
0362     that configuration must be loaded in order to have non-error output from
0363     command.
0364 *dping* [-c <loops>]::
0365     Perform ndrxd pings By default 4 loops are done, but this can be overridden
0366     by -c argument.
0367 *dsleep* SLEEP_SEC::
0368     Put ndrxd in sleep mode, this is useful for debugging. Number of seconds to
0369     sleep are denoted in *SLEEP_SEC* argument.
0370 
0371 *mibget* [-c <CLASS>] [-m]::
0372     This returns lists the *tm_mib(5)* objects in command line. The object classes
0373     are set in -c argument, where possible values are *T_CLIENT*, *T_DOMAIN*,
0374     *T_MACHINE*, *T_QUEUE*, *T_SERVER*, *T_SERVICE*, *T_SVCGRP* and *T_BRCON*. 
0375     The parameter *-m* returns the output in machine readable format.
0376 *udown* [-y]::
0377     Remove all System V resources used by user. This includes any of: queues,
0378     shared memory and semaphores. '-y' is used for confirmation.
0379 *svqids* [-i] [-k]::
0380     Print System V queue identifiers allocated for current user. Command outputs
0381     Queue identifier and IPC Key. If parameter *-i* is set, identifier is are
0382     printed only. If parameter *-k* is set, only keys are printed.
0383 
0384 *svsemids* [-i] [-k]::
0385     Print System V semaphore identifiers allocated for current user. Command outputs
0386     Queue identifier and IPC Key. If parameter *-i* is set, identifier is are
0387     printed only. If parameter *-k* is set, only keys are printed.
0388 
0389 *lcf* [COMMAND] [-p <PID>] [-b <BINARY>] [-r] [-a] [-n] [-e] [-s <SLOT>] [-A <ARG_A>] [-B <ARG_B>]::
0390     This is administrative interface to Latent Command Framework. When command
0391     is run without arguments, it prints *page 1* information. Build in commands 
0392     given in *COMMAND* is *-1* (*page 1* infos), *-2* (*page 2* infos), *-3* (*page 3* infos).
0393     Note that statistics printed are not synchronized between processes. Arguments:
0394     *-p* is used for passing PID to command. *-b* is used to pass binary name
0395     to command. *-r* says that pid or binary name is regular expression to match
0396     several processes. *-a* says that command shall be applied to all application
0397     instance binaries.  *-p*, *-b*, *-a* are exclusive.
0398     *-n* says that apply command also to new binaries (just started)
0399     too. *-e* says that command shall be applied to new binaries too, but command
0400     for new binaries expires after *NDRX_LCFCMDEXP* time (default *60* sec). *-n*
0401     and *-e* are incremental and appends default flags of the command.
0402     *-A* is argument to command. *-B* is argument to command. Enduro/X provided
0403     LCF commands are listed bellow. Under this xadmin command new commands might
0404     appear if plugins are registering them with *ndrx_lcf_xadmin_add(3)* API
0405     calls.
0406 
0407 *shmcfg*::
0408     Command is used to print the shared memory configuration information. The
0409     memory segment is the same as for *LCF*, but these settings are used for
0410     other purposes. Values *shmcfgver_lcf* - LCF command version, incremented
0411     with each command publication. *use_ddr* set to *1* if data-dependent-routing used
0412     or per service settings are published. *ddr_page* - current page number used
0413     by settings *0* or *1* as double buffering is used for lock-less operations.
0414     *ddr_ver1* version number of current DDR setting. *is_mmode* - set to *1*
0415     in case if singleton process groups are in maintenance mode, i.e. 
0416     groups will not failover to this node, even if lock can be acquired.
0417     *0* - maintance mode disabled.
0418 
0419 *prtsvc*::
0420     Print routing services from current shared memory page. Flags *-a* means
0421     all slots of linear hash. *-i* only used slots. *-w* slots which was in
0422     use. By default only used slots are printed.
0423 
0424 *psg* [-a]::
0425     Print information about singleton process groups. By default command
0426     prints the information about used groups. However to see all groups
0427     including unused, specify parameter *-a*.
0428 
0429 *mmon*::
0430     Put local Enduro/X not into maintenance mode. Such mode means that
0431     none of the singleton process group lock providers (i.e. *exsinglesv(8)*)
0432     would not try to acquire the lock. However, this mode does not affedt
0433     any currently locked groups. Current maintenance mode status can
0434     be inspected with *shmcfg* command, parameter *is_mmon*. By default
0435     maintenance mode is off. The maintenance mode flag can be enabled
0436     before booting the instance, effectively allowing to start with
0437     all singleton process group staying in *wait* state.  The mode
0438     is automatically disabled when Enduro/X instance is shutdown.
0439 
0440 *mmoff*::
0441     Disable local Enduro/X instance maintenance mode, which previously
0442     was set by *mmon* command.
0443 
0444 ENDURO/X LCF COMMANDS
0445 ---------------------
0446 *lcf disable*::
0447     Disable the command at given slot. Default SLOT (*-s*) is *0*. Note by default
0448     when instance is started all commands are initialized as *disable* and are
0449     not executed by any binary.
0450 
0451 *lcf logrotate*::
0452     Perform logrotate. Default is *-a* all binaries. And by default *-e* flag is
0453     set, so that if logrotate is issued, and at particular moment some process
0454     is forking, so that new process would still be able to connect to new log files,
0455     as ones during the fork might be concurrently rotated away. Logrotate reopens
0456     any currently open logger file. Note that *mkdir* and *bufsz* settings are
0457     kept as they were defined at the point when log file was open.
0458 
0459 *lcf logchg* -A <DEBUG_STRING>::
0460     Change the logging settings for process logger. The 
0461     format for DEBUG_STRING is as is defined
0462     for *ndrxdebug.conf(5)* debug configuration. Log facility/topic levels (*ndrx*, *tp*, *ubf*)
0463     affects loggers immediately. Also levels are back propagated to thread and
0464     request loggers, if those are configured with different level settings. *file* name
0465     can be changed too, but this only affects only process logger output. 
0466     *bufsz* and *mkdir* only affects if file name is changed, or at next file name change / reopen by
0467     process logger. Note that FILE handles are shared between threads thus if process
0468     is switching to some existing file open by other thread, then 
0469     *bufsz* and *mkdir* is still the same as with already open file.
0470 
0471 CONFIGURATION
0472 -------------
0473 The following parameters from section *[@xadmin]* or *[@xadmin/<$NDRX_CCTAG>]*
0474 are used (if config file is present):
0475 
0476 *gen scripts*='PATH_TO_GENERATOR_SCRIPTS'::
0477 This parameter configures the path where 'xadmin' should look for .pscript
0478 files. The file names must be in following format: gen_<lang>_<type>.pscript.
0479 Basically <lang> and <type> will be offered as targets under $xadmin gen
0480 command. The $xadmin help will print these scripts. For script reference
0481 look in Enduro/X source code, *xadmin/scripts* folder. It is assumed that 
0482 these scripts will inherit 'WizardBase' class compiled into Enduro/X. This
0483 class is driving the wizard. Also note that each parameter which is asked to
0484 user enter into wizard, can be overridden from command line with
0485 *-v<param1>=<value1>*. The generator can be defaulted by '-d' argument.
0486 
0487 SAMPLE CONFIGURATION
0488 --------------------
0489 
0490 For system wide settings the following file is created: */etc/xadmin.config*:
0491 
0492 --------------------------------------------------------------------------------
0493 [@xadmin]
0494 gen scripts=/development/templates
0495 --------------------------------------------------------------------------------
0496 
0497 EXIT STATUS
0498 -----------
0499 *0*::
0500 Success
0501 
0502 *1*::
0503 Failure
0504 
0505 BUGS
0506 ----
0507 Report bugs to support@mavimax.com
0508 
0509 SEE ALSO
0510 --------
0511 *ndrxd(8)*, *q.conf(5)*, *tmqueue(8)* *cpmsrv(8)* *ex_env(5)*
0512 
0513 COPYING
0514 -------
0515 (C) Mavimax, Ltd