Forge Home


Manages Operating System Processes


136,172 latest version

2.6 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 4.0.2 (latest)
  • 4.0.1
  • 4.0.0
released Apr 20th 2018
This version is compatible with:
  • Puppet Enterprise 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.4.x
  • Puppet >= 4.9.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'choria-mcollective_agent_process', '4.0.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add choria-mcollective_agent_process
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install choria-mcollective_agent_process --version 4.0.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



choria/mcollective_agent_process — version 4.0.2 Apr 20th 2018

Process Agent

An agent that can be used to list running processes on remote machines.


This agent provides the following actions, for details about each please run mco plugin doc agent/process

  • list - List Processes


Install the sys-proctable RubyGem on all your agent nodes, this Gem uses native extensions and so will need compilers:

NOTE: To install this gem you need to have a c++ compiler on your system

  "sys-proctable": "1.2.0"

Add the agent and client:

  - mcollective_agent_process


On Archlinux machines the following Hiera data will install the dependencies using native packages and you do not need compilers:

mcollective_agent_process::manage_gem_dependencies: false
  ruby-sys-proctable: present


The Process client application can be configured to list only a subset of possible process field values. This can be configured in your client configuration file. Available fields are PID, USER, VSZ, COMMAND, TTY, RSS and STATE. Unconfigured the output will default to PID, USER, VSZ and COMMAND.



% mco process list ruby

 * [ ============================================================> ] 2 / 2

     PID       USER     VSZ            COMMAND
     31187     root     137.465 MB     ruby /usr/sbin/mcollectived --pid=/var/run/

     PID       USER     VSZ            COMMAND
     5202      root     120.793 MB     /usr/bin/ruby /usr/bin/puppet agent
     17348     root     112.105 MB     ruby /usr/sbin/mcollectived --pid=/var/run/

Summary of The Process List:

           Matched hosts: 2
       Matched Processes: 3
           Resident Size: 28.921 MB
            Virtual Size: 370.363 MB

Finished processing 2 / 2 hosts in 134.67 ms
mco process list ruby --fields=pid,command,state

 * [ ============================================================> ] 2 / 2

     PID       COMMAND                                                          STATE
     5202      /usr/bin/ruby /usr/bin/puppet agent                              S
     17348     ruby /usr/sbin/mcollectived --pid=/var/run/      R

     PID       COMMAND                                                          STATE
     31187     ruby /usr/sbin/mcollectived --pid=/var/run/      R

Summary of The Process List:

           Matched hosts: 2
       Matched Processes: 3
           Resident Size: 28.805 MB
            Virtual Size: 369.863 MB

Finished processing 2 / 2 hosts in 96.65 ms

Data Plugin

The Process agent also supplies a data plugin which uses the sys-proctable Gem to check if there exists a process that matches a given pattern and can be used during discovery or any other place where the MCollective discovery language is used.

mco rpc rpcutil ping -S "process('ruby').exists=true"