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