rsyslog/doc/source/reference/parameters/omprog-killunresponsive.rst
Rainer Gerhards 43cb156744
omprog: split parameter docs into reference pages
Make omprog docs easier to navigate and link while improving structure
for AI tooling and programmatic ingestion. This aids both humans and
assistants in finding a single parameter quickly with stable anchors.

BEFORE: All action parameters lived inline in modules/omprog.rst.
AFTER: Each parameter has its own reference page; omprog.rst shows a
       list-table with concise summaries and a hidden toctree.

Technically, move each action parameter into
doc/source/reference/parameters/omprog-*.rst with stable anchors
(param-omprog-* and omprog.parameter.action.*), a summary block,
metadata (type/default/introduced), usage snippets, and legacy
directive mappings. The module page now pulls per-parameter summaries
via include directives and adds a hidden toctree for discovery.
Cross-references were aligned, legacy names preserved (e.g.
$ActionOMProgBinary), and a non-normative note recommends camelCase
for readability. No runtime or API/ABI changes; documentation only.

With help from AI coding Agents: codex, Gemini
see also: https://github.com/rsyslog/rsyslog/issues/5933
2025-08-20 14:50:08 +02:00

65 lines
2.2 KiB
ReStructuredText

.. _param-omprog-killunresponsive:
.. _omprog.parameter.action.killunresponsive:
killUnresponsive
================
.. index::
single: omprog; killUnresponsive
single: killUnresponsive
.. summary-start
Kills the program if it remains after the close timeout expires.
.. summary-end
This parameter applies to :doc:`../../configuration/modules/omprog`.
:Name: killUnresponsive
:Scope: action
:Type: boolean
:Default: action=the value of 'signalOnClose'
:Required?: no
:Introduced: 8.35.0
Description
-----------
Specifies whether a KILL signal must be sent to the external program in case
it does not terminate within the timeout indicated by :ref:`param-omprog-closetimeout`
(when either the worker thread has been unscheduled, a restart of the program
is being forced, or rsyslog is about to shutdown).
If :ref:`param-omprog-signalonclose` is set to "on", the default value of ``killUnresponsive``
is also "on". In this case, the cleanup sequence of the child process is as
follows: (1) a TERM signal is sent to the child, (2) the pipe with the child
process is closed (the child will receive EOF on stdin), (3) rsyslog waits
for the child process to terminate during :ref:`param-omprog-closetimeout`,
(4) if the child has not terminated within the timeout, a KILL signal is sent to it.
If :ref:`param-omprog-signalonclose` is set to "off", the default value of ``killUnresponsive``
is also "off". In this case, the child cleanup sequence is as follows: (1) the
pipe with the child process is closed (the child will receive EOF on stdin),
(2) rsyslog waits for the child process to terminate during :ref:`param-omprog-closetimeout`,
(3) if the child has not terminated within the timeout, rsyslog ignores it.
This parameter can be set to a different value than :ref:`param-omprog-signalonclose`, obtaining
the corresponding variations of cleanup sequences described above.
Action usage
------------
.. _param-omprog-action-killunresponsive:
.. _omprog.parameter.action.killunresponsive-usage:
.. code-block:: rsyslog
action(type="omprog" killUnresponsive="on")
Notes
-----
- Legacy documentation referred to the type as ``binary``; this maps to ``boolean``.
See also
--------
See also :doc:`../../configuration/modules/omprog`.