ctlinnd - control the InterNetNews daemon


   ctlinnd [ -h ] [ -s ] [ -t timeout ] command [ argument...  ]


   Ctlinnd  sends  a  message  to  the  control  channel  of  innd(8), the
   InterNetNews server.

   In the normal mode of behavior, the message  is  sent  to  the  server,
   which  then performs the requested action and sends back a reply with a
   text message and the exit code for ctlinnd.  If the server successfully
   performed  the  command,  ctlinnd  will  exit with a status of zero and
   print the reply on standard output.  If the server  could  not  perform
   the  command  (for example, it was told to remove a newsgroup that does
   not exist), it will direct ctlinnd to exit with a status of  one.   The
   ``shutdown,''  ``xabort,''  and  ``xexec''  commands  do not generate a
   reply; ctlinnd will always exit silently with a status of zero.


   -s     If the ``-s'' flag is used, then no message will be  printed  if
          the command was successful.

   -t     The  ``-t'' flag can be used to specify how long to wait for the
          reply from the server.  The timeout value specifies  the  number
          of  seconds to wait.  A value of zero waits forever, and a value
          less than zero indicates that no reply is needed.  When  waiting
          for  a  reply,  ctlinnd will try every two minutes to see if the
          server is still running, so it is  unlikely  that  ``-t0''  will
          hang.  The default is ``-t0.''

   -h     To  see a command summary, use the ``-h'' flag.  If a command is
          included when ctlinnd is invoked with the ``-h'' flag, then only
          the usage for that command will be given.

   If a large number of groups are going to be created or deleted at once,
   it may be more efficient to ``pause'' or ``throttle''  the  server  and
   edit the active file directly.

   The  complete  list of commands follows.  Note that all commands have a
   fixed number of arguments.  If a parameter can be an empty string, then
   it is necessary to specify it as two adjacent quotes, like "".

   addhist <Message-ID> arr exp post paths
          Add  an  entry to the history database.  This directs the server
          to create a history line for Message-ID.  The angle brackets are
          optional.   Arr, exp, and post specify when the article arrived,
          what its expiration date is, and when it was posted.  All  three
          values  are  a number indicating the number of seconds since the
          epoch.  If the article does not have an Expires header, then exp
          should  be  zero.   Paths  is the pathname within the news spool
          directory where the article is filed.  If the article is  cross-
          posted, then the names should be separated by whitespace and the
          paths argument should be inside double quotes.  If the server is
          paused  or throttled, this command causes it to briefly open the
          history database.

   allow reason
          Remote connections are allowed.  The reason  must  be  the  same
          text  given  with  an  earlier  ``reject''  command, or an empty

   begin site
          Begin feeding site.  This will cause the server  to  rescan  the
          newsfeeds(5)  file  to  find  the  specified  site  and set up a
          newsfeed for it.  If the site already exists, a ``drop'' is done
          first.  This command is forwarded; see below.

   cancel <Message-ID>
          Remove  the article with the specified Message-ID from the local
          system.  This does not generate a  cancel  message.   The  angle
          brackets  are  optional.   If the server is paused or throttled,
          this command causes it to briefly open the history database.

   changegroup group rest
          The newsgroup group is changed so that its fourth field  in  the
          active  file  becomes the value specified by the rest parameter.
          This may  be  used  to  make  an  existing  group  moderated  or
          unmoderated, for example.

          Check the syntax of the newsfeeds file, and display a message if
          any errors are found.  The details of the errors are reported to

   drop site
          Flush  and  drop  site  from  the server's list of active feeds.
          This command is forwarded; see below.

   feedinfo site
          Print detailed information about the state of the feed  to  site
          or more brief status of all feeds if site is an empty string.

   perl flag
          Enable  or disable perl news filtering.  If flag starts with the
          letter ``y'' then filtering  is  enabled.   If  it  starts  with
          ``n'', then filtering is disabled.

   feedinfo site
          Print  detailed  information about the state of the feed to site
          or more brief status of all feeds if site is an empty string.

   flush site
          Flush the buffer for the  specified  site.   The  actions  taken
          depend  on the type of feed the site receives; see newsfeeds(5).
          This is useful when the site is fed by a file  and  batching  is
          going  to start.  If site is an empty string, then all sites are
          flushed and the active  file  and  history  databases  are  also
          written out.  This command is forwarded; see below.

          Close the log and error log files and rename them to have a .old
          extension.  The  history  database  and  active  file  are  also
          written out.

   go reason
          Re-open  the history database and start accepting articles after
          a ``pause'' or ``throttle'' command.  The reason must either  be
          an  empty string or match the text that was given in the earlier
          ``pause'' or ``throttle'' command.  If a ``reject'' command  was
          done,  this  will  also  do  an  ``allow'' command if the reason
          matches the text  that  was  given  in  the  ``reject.''   If  a
          ``reserve''   command   was  done,  this  will  also  clear  the
          reservation if the reason matches the text that was given in the
          ``reserve.''  Note that if only the history database has changed
          while the server is paused or throttled, it is not necessary  to
          send it a ``reload'' command before sending it a ``go'' command.
          If the server throttled itself because it accumulated  too  many
          I/O  errors,  this  command  will reset the error count.  If the
          server was not started with the ``-ny'' flag, then this  command
          also  does  a  ``readers''  command with ``yes'' as the flag and
          reason as the text.

   hangup channel
          Close the socket on the specified  incoming  channel.   This  is
          useful when an incoming connection appears to be hung.

   help [command]
          Print  a  command  summary  for all commands, or just command if

          Cause the server to log its current operating mode to syslog.

   mode   Print the server's operating mode as a multi-line summary of the
          parameters and operating state.

   name nnn
          Print the name of channel number nnn or of all channels if it is
          an empty string.

   newgroup group rest creator
          Create the specified newsgroup.  The rest  parameter  should  be
          the  fourth  field  as  described  in active(5); if it is not an
          equal sign, only the first letter is used.  The  creator  should
          be  the name of the person creating the group.  If the newsgroup
          already  exists,  this  is  equivalent  to  the  ``changegroup''
          command.   This  is  the  only  command  that has defaults.  The
          creator can be omitted and will default to the empty string, and
          the  rest  parameter  can  be omitted and will default to ``y''.
          This  command  can  be  done  while  the  server  is  paused  or
          throttled;  it  will  update  its  internal  state when a ``go''
          command is sent.  This command  updates  the  active.times  (see
          active(5)) file.

   param letter value
          Change   the   command-line   parameters  of  the  server.   The
          combination of defaults make it possible to use the text of  the
          Control header directly.  Letter is the innd command-line option
          to set, and value is  the  new  value.   For  example,  ``i  5''
          directs  the server to allow only five incoming connections.  To
          enable or disable the action of the ``-n'' flag, use the  letter
          ``y'' or ``n'', respectively, for the value.

   pause reason
          Pause  the server so that no incoming articles are accepted.  No
          existing connections are closed, but  the  history  database  is
          closed.   This command should be used for short-term locks, such
          as when replacing the history files.   If  the  server  was  not
          started  with  the  ``-ny''  flag, then this command also does a
          ``readers'' command with ``no'' as the flag and  reason  as  the

   readers flag text
          Allow  or  disallow newsreaders.  If flag starts with the letter
          ``n'' then newsreading is disallowed, by causing the  server  to
          pass the text as the value of the nnrpd(8) ``-r'' flag.  If flag
          starts with the letter ``y'' and text is either an empty string,
          or   the   same  string  that  was  used  when  newsreading  was
          disallowed, then newsreading will be allowed.

   reject reason
          Remote connections (those that would not be handed off to nnrpd)
          are rejected, with reason given as the explanation.

   reload what reason
          The server updates its in-memory copies of various configuration
          files.  What identifies what should be reloaded.  If  it  is  an
          empty string or the word ``all'' then everything is reloaded; if
          it is the word ``history'' then the history database  is  closed
          and   opened,   if  it  is  the  word  ``hosts.nntp''  then  the
          hosts.nntp(5) file is reloaded; if it is the word ``active''  or
          ``newsfeeds''  then  both  the  active  and  newsfeeds files are
          reloaded;  if  it  is  the  word   ``overview.fmt''   then   the
          overview.fmt(5)   file   is   reloaded.    If  it  is  the  word
          ``filter.perl'' then the filter_innd.pl file is reloaded.  If  a
          Perl procedure named ``filter_before_reload'' exists, it will be
          called prior to rereading filter.tcl.  If a Perl procedure named
          ``filter_after_reload''   exists,   it   will  be  called  after
          filter.pl has been reloaded.  Reloading the Perl filter does not
          enable  filtering if it is disabled; use filter to do this.  The
          reason is reported to syslog.  There is no  way  to  reload  the
          data  inn.conf(5)  file;  the  server  currently  only  uses the
          ``pathhost'' parameter, so this  restriction  should  not  be  a

   renumber group
          Scan  the spool directory for the specified newsgroup and update
          the low-water mark in the active file.  If  group  is  an  empty
          string then all newsgroups are scanned.

   reserve reason
          The  next  ``pause''  or ``throttle'' command must use reason as
          its text.  This ``reservation'' is cleared by  giving  an  empty
          string  for  the  reason.  This command is used by programs like
          expire(8) that want to avoid running  into  other  instances  of
          each other.

   rmgroup group
          Remove  the  specified  newsgroup.   This is done by editing the
          active file.  The  spool  directory  is  not  touched,  and  any
          articles  in  the  group  will  be  expired  using  the  default
          expiration parameters.  Unlike the  ``newgroup''  command,  this
          command does not update the active.times file.

   send feed text...
          The  specified  text  is  sent as a control line to the exploder

   shutdown reason
          The server is shut down, with the specified reason  recorded  in
          the  log and sent to all open connections.  It is a good idea to
          send a ``throttle'' command first.

   signal sig site
          Signal sig is sent to  the  specified  site,  which  must  be  a
          channel or exploder feed.  Sig can be a numeric signal number or
          the word ``hup,'' ``int,'' or ``term''; case is not significant.

   throttle reason
          Input is throttled so that all existing connections  are  closed
          and  new  connections  are  rejected.   The  history database is
          closed.  This should be used for long-term locks, such  as  when
          expire  is  being  run.   If the server was not started with the
          ``-ny'' flag, then this command also does a ``readers''  command
          with ``no'' as the flag and reason as the text.

   trace item flag
          Tracing is turned on or off for the specified item.  Flag should
          start with the letter ``y'' or ``n'' to turn tracing on or  off.
          If  item  starts  is  a  number,  then  tracing  is  set for the
          specified innd channel, which must be for an incoming NNTP feed.
          If  it starts with the letter ``i'' then general innd tracing is
          turned on or off.  If it  starts  with  the  letter  ``n''  then
          future nnrpd's will or will not have the ``-t'' flag enabled, as

   xabort reason
          The server logs  the  specified  reason  and  then  invokes  the
          abort(3) routine.

   xexec path
          The  server  gets  ready  to  shut  itself  down, but instead of
          exiting it execs the specified path with  all  of  its  original
          arguments.   If path is ``innd'' then /usr/sbin/innd is invoked;
          if it is ``inndstart'' then /usr/sbin/inndstart is  invoked;  if
          it  is  an  empty string, it will invoke the appropriate program
          depending on whether or not it was started with the ``-p'' flag;
          any other value is an error.

   In addition to being acted upon within the server, certain commands can
   be forwarded to the appropriate child process.  If the  site  receiving
   the command is an exploder (such as buffchan(8)) or it is a funnel that
   feeds into an exploder, then the command can  be  forwarded.   In  this
   case, the server will send a command line to the exploder that consists
   of the ctlinnd command name.  If the site funnels into an exploder that
   has  an  asterisk (``*'') in its ``W'' flag (see newsfeed(5)), then the
   site name will be appended to the command;  otherwise  no  argument  is


   Ctlinnd  uses  the  inndcomm(3)  library,  and  is therefore limited to
   server replies no larger than 4k.


   Written by Rich $alz <rsalz@uunet.uu.net> for  InterNetNews.   This  is
   revision 1.39, dated 1996/10/29.


   active(5),  expire(8), innd(8), inndcomm(3), inn.conf(5), newsfeeds(5),



Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.

Free Software

Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.

Free Books

The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.