findprocesses
Prototype: findprocesses(regex)
Return type: data
The return value is cached.
Description: Return the list of processes that match the given regular
expression regex
.
This function searches for the given regular expression in the process
table. Use .*sherlock.*
to find all the processes that match
sherlock
. Use .*\bsherlock\b.*
to exclude partial matches like
sherlock123
(\b
matches a word boundary).
Arguments:
regex
: regular expression, in the range:.*
The returned data container is a list of key-value maps. Each one is
guaranteed to have the key pid
with the process ID. The key line
will also be available with the raw process table contents.
The process table is usually obtained with something like ps -eo
user,pid,ppid,pgid,%cpu,%mem,vsize,ni,rss,stat,nlwp,stime,time,args
, and the
CMD
or COMMAND
field (args
) is used to match against. However the exact
data used may change per platform and per CFEngine release.
Example:
vars:
"holmes" data => findprocesses(".*sherlock.*");
Output:
[ { "pid": "2378", "line": "...the ps output here" }, ... ]
History: Introduced in CFEngine 3.9
See also: processes
processexists()
.