md-mx-ctrl man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

MD-MX-CTRL(8)							 MD-MX-CTRL(8)

NAME
       md-mx-ctrl - Control mimedefang-multiplexor

SYNOPSIS
       md-mx-ctrl [options] command

DESCRIPTION
       md-mx-ctrl  is  a  command-line tool for communicating with mimedefang-
       multiplexor(8).

OPTIONS
       -h     Displays usage information.

       -s path
	      Specifies the path to the mimedefang-multiplexor socket.	If not
	      specified,  defaults  to /var/spool/MIMEDefang/mimedefang-multi‐
	      plexor.sock.

       -i     This flag causes md-mx-ctrl to sit in a loop,  reading  commands
	      on  standard  input and printing results to standard output.  It
	      is intended for use by  a	 monitoring  program  such  as	watch-
	      mimedefang.

COMMANDS
       The following commands are available:

       status Prints  the status of all slave Perl processes in human-readable
	      format.

       rawstatus
	      Prints the status of all slave Perl processes in a  format  easy
	      to  parse	 by  computer.	 The  result is a single line with six
	      words on it.  The words are separated by a single space  charac‐
	      ter.

	      Each  character in the first word corresponds to a slave, and is
	      "I" for an idle slave, "B" for a busy slave,  "S"	 for  a	 slave
	      which is not running, and "K" for a slave which has been killed,
	      but has not yet exited.  A slave is "idle" if there is a running
	      Perl  process waiting to do work.	 "Busy" means the Perl process
	      is currently filtering a message.	 "S" means there is no associ‐
	      ated  Perl process with the slave, but one can be started if the
	      load warrants.  Finally, "K" means the slave  Perl  process  has
	      been killed, but has yet to terminate.

	      The  second word is the total number of messages processed since
	      the multiplexor started up.  The third word is the total	number
	      of  slaves  which	 have  been  activated	since  the multiplexor
	      started up.  (That is, it's a count of the number of  times  the
	      multiplexor has forked and exec'd the Perl filter.)

	      The  fourth  word	 is the size of the queue for request queuing,
	      and the fifth word is the	 actual	 number	 of  requests  in  the
	      queue.   The  sixth  word is the number of seconds elapsed since
	      the multiplexor was started.

       barstatus
	      Prints the status of busy slaves and queued requests in  a  nice
	      "bar  chart" format.  This lets you keep an eye on things with a
	      script like this:

		   while true ; do
			md-mx-ctrl barstatus
			sleep 1
		   done

       histo  Prints a histogram showing the number of slaves that  were  busy
	      each time a request was processed.  A single line is printed for
	      the numbers from 1 up to the maximum  number  of	slaves.	  Each
	      line  contains  the count of busy slaves (1, 2, 3 up to MX_MAXI‐
	      MUM), a space, and the number of times  that  many  slaves  were
	      busy when a request was processed.

       load   Prints  a table showing "load averages" for the last 10 seconds,
	      1 minute, 5 minutes and 10 minutes.

	      Each row in the table corresponds to a time interval,  displayed
	      in the first column.  The remaining columns in the table are:

	      Msgs:  The  number  of  messages	scanned	 within the row's time
	      interval.

	      Msgs/Sec: The average number  of	messages  scanned  per	second
	      within the row's time interval.

	      Avg  Busy	 Slaves:  The average number of busy slaves whenever a
	      message was scanned.  (If you are processing any	mail  at  all,
	      this  number  will be at least 1, because there is always 1 busy
	      slave when a message is scanned.)

	      If you have the watch(1) command on your system, you can keep an
	      eye on the load with this command:

		   watch -n 10 md-mx-ctrl load

	      If  you  do not have watch, the following shell script is a less
	      fancy equivalent:

		   #!/bin/sh
		   while true; do
			clear
			date
			md-mx-ctrl load
			sleep 10
		   done

       rawload

	      Prints the load averages in computer-readable format.  The  for‐
	      mat consists of twenty-nine space-separated numbers:

	      The  first four are integers representing the number of messages
	      scanned in the last 10 seconds, 1 minute, 5 minutes and 10  min‐
	      utes.

	      The  second  four	 are  floating-point  numbers representing the
	      average number of busy slaves in the last 10 seconds, 1  minute,
	      5 minutes and 10 minutes.

	      The third four are floating-point numbers representing the aver‐
	      age time per scan in milliseconds over the last  10  seconds,  1
	      minute, 5 minutes and 10 minutes.

	      The  fourth four are the number of slave activations (new slaves
	      started) over the last 10 seconds, 1 minute, 5  minutes  and  10
	      minutes.

	      The fifth four are the number of slaves reaped (slaves that have
	      exited) over the last 10 seconds, 1 minute,  5  minutes  and  10
	      minutes.

	      The  sixth four are the number of busy, idle, stopped and killed
	      slaves.

	      The seventh four are the number of messages processed, the  num‐
	      ber of slave activations, the size of the request queue, and the
	      number of requests actually on the queue.

	      The final number is the number of seconds since the  multiplexor
	      was started.

       load-relayok
	      Similar to load, but shows timings for filter_relay calls.

       load-senderok
	      Similar to load, but shows timings for filter_sender calls.

       load-recipok
	      Similar to load, but shows timings for filter_recipient calls.

       rawload-relayok
	      Similar  to  rawload,  but shows timings for filter_relay calls.
	      Note that the slave activation and reap statistics are  present,
	      but always 0.  They are only valid in a rawload command.

       rawload-senderok
	      Similar  to  rawload, but shows timings for filter_sender calls.
	      Note that the slave activation and reap statistics are  present,
	      but always 0.  They are only valid in a rawload command.

       rawload-recipok
	      Similar  to  rawload,  but  shows	 timings  for filter_recipient
	      calls.  Note that the slave activation and reap  statistics  are
	      present,	but  always  0.	 They are only valid in a rawload com‐
	      mand.

       load1 nsecs
	      The load1 command displays the load for  various	commands  over
	      the  last	 nsecs	seconds,  where nsecs is an integer from 10 to
	      600.  The load1 command  combines	 the  output  of  load,	 load-
	      relayok, load-senderokf and load-recipok into one display.

	      You might use the command like this:

		   watch -n 10 md-mx-ctrl load1 60

       rawload1 nsecs
	      Returns  the load1 data in human-readable format.	 The result is
	      a line containing twenty-six space-separated numbers:

	      The first three numbers are the number of scans performed in the
	      last  nsecs  seconds,  the  average number of busy slaves when a
	      scan was initiated and the average number	 of  milliseconds  per
	      scan.

	      The  second  three  are  the  same measurements for filter_relay
	      calls.

	      The third three are  the	same  measurements  for	 filter_sender
	      calls.

	      The  fourth  three  are  the  same measurements for filter_relay
	      calls.

	      The thirteenth through sixteenth numbers are the number of busy,
	      idle, stopped and killed slaves, respectively.

	      The  seventeenth number is the number of scans since mimedefang-
	      multiplexor was started.

	      The eighteenth number is the number of times  a  new  slave  has
	      been activated since program startup.

	      The  nineteenth  number is the size of the request queue and the
	      twentieth number is the actual number of queued requests.

	      The twenty-first number is the time since	 program  startup  and
	      the twenty-second number is a copy of nsecs for convenience.

	      The  twenty-third through twenty-sixth numbers are the number of
	      slaves currently executing a scan, relayok, senderok and recipok
	      command respectively.

       slaves Displays	a  list of slaves and their process IDs.  Each line of
	      output consists of a slave number, a status (I, B, K, or S), and
	      for  idle or busy slaves, the process-ID of the slave.  For busy
	      slaves, the line may contain additional information  about  what
	      the slave is doing.

       busyslaves
	      Similar to slaves, but only outputs a line for each busy slave.

       slaveinfo n
	      Displays information about slave number n.

       reread Forces  mimedefang-multiplexor to kill all idle slaves, and ter‐
	      minate and restart busy slaves  when  they  become  idle.	  This
	      forces a reread of filter rules.

       msgs   Prints  the  total  number  of messages scanned since the multi‐
	      plexor started.

ADDITIONAL COMMANDS
       You can supply any other command and arguments to md-mx-ctrl.  It  per‐
       cent-encodes  each  command-line	 argument, glues the encoded arguments
       together with a single space between each, and sends the result to  the
       multiplexor  as	a command.  This allows you to send arbitrary commands
       to your Perl slaves.  See the section "EXTENDING MIMEDEFANG" in mimede‐
       fang-filter(5) for additional details.

PERMISSIONS
       md-mx-ctrl  uses the multiplexor's socket; therefore, it probably needs
       to be run as root or the same user as mimedefang-multiplexor.

AUTHOR
       md-mx-ctrl was written by David F. Skoll <dfs@roaringpenguin.com>.  The
       mimedefang home page is http://www.mimedefang.org/.

SEE ALSO
       mimedefang.pl(8),  mimedefang-filter(5), mimedefang(8), mimedefang-pro‐
       tocol(7), watch-mimedefang(8)

4th Berkeley Distribution	8 February 2005			 MD-MX-CTRL(8)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net