...
- 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 a 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 /allocating the space and reallocating when the process might appear again).
...