Sha256: 757b6edb1e3f0b309f9dbd67dafc1d0270f5e5ea3a775c3f86cc0dea3f5d47e6

Contents?: true

Size: 1.3 KB

Versions: 23

Compression:

Stored size: 1.3 KB

Contents

module MCollective
  module Agent
    class Ps < RPC::Agent
      metadata    :name        => "ps info",
                  :description => "Agent to get ps info (running processes)",
                  :author      => "Reactor8",
                  :license     => "",
                  :version     => "",
                  :url         => "",
                  :timeout     => 2
      action "get_ps" do 
        output=`ps -ef`
        output.gsub!(/^.+\]$/,'')
        results = output.scan(/(\S+)[\s].*?(\S+)[\s].*?(\S+)[\s].*?(\S+)[\s].*?(\S+)[\s].*?(\S+)[\s].*?(\S+)[\s].*?(.+)/)
        results.shift
        ps_result = []
        results.each do |result|
          ps_packet = {}
          ps_packet.store(:uid, result[0])
          ps_packet.store(:pid,   result[1])
          ps_packet.store(:ppid,   result[2])
          ps_packet.store(:cpu,    result[3])
          ps_packet.store(:start_time,  result[4])
          ps_packet.store(:tty,    result[5])
          ps_packet.store(:time,  result[6])
          result[7] = (result[7][0...60].strip + '...') if result[7].strip.length > 60
          ps_packet.store(:command,  result[7])
          ps_result << ps_packet
        end

        reply[:data]  = ps_result
        reply[:pbuilderid] = Facts["pbuilderid"]
        reply[:status] = :ok
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
dtk-node-agent-0.7.7 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.7.6 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.7.5 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.7.4.1 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.7.4 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.7.3 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.7.2 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.7.1 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.7.0 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.6.7 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.6.6 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.6.4 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.6.3 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.6.2 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.6.1 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.6.0 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.5.17 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.5.16 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.5.15 mcollective_additions/plugins/v2.2/agent/ps.rb
dtk-node-agent-0.5.14 mcollective_additions/plugins/v2.2/agent/ps.rb