...
- BufferLength: The length of a shared-memory ring buffer used by the plugin (see below).
- Process: The exact name of a specific process (or multiple copies of that process) that we wish to monitor.
- RegexProcessProcessRegex: A regular expression to match against process names that we wish to monitor.
...
When the plugin is initialized, the /proc directory of the system is analyzed to find any running processes that match process names or regular expressions enumerated in the plugin configuration. A linked list of process PID/name combos is stored for all running processes that are of interest to the plugin. When a new, matching process is detected during runtime, it will be added to the linked list if its PID/name combo is not already present. When an old, matching process dies during runtime, its PID will be removed from the linked list item and replaced with -1, but the linked list item itself will remain with the process name still present (we do this to reuse the memory rather than freeing the the space and reallocating when the process might appear again).
...