ps
Get a list of process details running on a system in ruby.
linux manual
Basic Usage
require 'kanrisuru'
host = Kanrisuru::Remote::Host.new(host: '127.0.1.1', username: 'ubuntu', keys: ['~/.ssh/id_rsa'])
result = host.ps(user: 'root')
result.success?
true
result[0].user
'root'
result[0].command
"/lib/systemd/systemd --system --deserialize 32"
Parameters
| Field | Type | Description | 
|---|---|---|
| group | 
            
            
              
                string
            
            
              
                array
            
            
              
                integer
            
           | 
          
          Select processes by group id, name or a list of groups. | 
| user | 
            
            
              
                string
            
            
              
                array
            
            
              
                integer
            
           | 
          
          Select processes by user id, name or a list of groups. | 
| pid | 
            
            
              
                array
            
            
              
                integer
            
           | 
          
          Select processes by a single process id or list of process ids | 
| ppid | 
            
            
              
                array
            
            
              
                integer
            
           | 
          
          Select processes by a single parent process id or list of parent process ids | 
Result
Returns an array of ProcessInfo structs.
ProcessInfo Fields
| Field | Type | Description | 
|---|---|---|
| uid | 
            
              
                integer
              
            
           | 
          User ID number | 
| user | 
            
              
                string
              
            
           | 
          User name | 
| gid | 
            
              
                integer
              
            
           | 
          Group ID number | 
| group | 
            
              
                string
              
            
           | 
          Group name | 
| ppid | 
            
              
                integer
              
            
           | 
          Parent process ID | 
| pid | 
            
              
                integer
              
            
           | 
          Process ID | 
| cpu_usage | 
            
              
                double
              
            
           | 
          CPU utilization | 
| memory_usage | 
            
              
                double
              
            
           | 
          Memory size | 
| stat | 
            
              
                string
              
            
           | 
          Multi-character process state. | 
| priority | 
            
              
                integer
              
            
           | 
          Kernel scheduling priority | 
| flags | 
            
              
                integer
              
            
           | 
          Flags as in long format F field | 
| policy_abbr | 
            
              
                string
              
            
           | 
          Scheduling class of the process (abbreviated). | 
| policy | 
            
              
                string
              
            
           | 
          Scheduling class of the process (abbreviated). | 
| cpu_time | 
            
              
                string
              
            
           | 
          Cummulative cpu time "hh:mm:ss" format. | 
| command | 
            
              
                double
              
            
           | 
          Command name. | 
Return Example
host.ps(ppid: 1).to_a
[
  [ 0] #<Struct:Kanrisuru::Core::System::ProcessInfo:0x00044200
    command = "/usr/sbin/blkmapd",
    cpu_time = "00:00:00",
    cpu_usage = 0.0,
    flags = 1,
    gid = 0,
    group = "root",
    memory_usage = 0.0,
    ppid = 1,
    pid = 446,
    policy = "SCHED_OTHER",
    policy_abbr = "TS",
    priority = 19,
    stat = "Ss",
    uid = 0,
    user = "root"
  >,
  [ 1] #<Struct:Kanrisuru::Core::System::ProcessInfo:0x00044318
    command = "/sbin/multipathd -d -s",
    cpu_time = "00:13:05",
    cpu_usage = 0.0,
    flags = 4,
    gid = 0,
    group = "root",
    memory_usage = 0.1,
    ppid = 1,
    pid = 554,
    policy = "SCHED_RR",
    policy_abbr = "RR",
    priority = 139,
    stat = "SLsl",
    uid = 0,
    user = "root"
  >,
  [ 2] #<Struct:Kanrisuru::Core::System::ProcessInfo:0x00044430
    command = "/usr/sbin/rpc.idmapd",
    cpu_time = "00:00:00",
    cpu_usage = 0.0,
    flags = 1,
    gid = 0,
    group = "root",
    memory_usage = 0.0,
    ppid = 1,
    pid = 599,
    policy = "SCHED_OTHER",
    policy_abbr = "TS",
    priority = 19,
    stat = "Ss",
    uid = 0,
    user = "root"
  >,
  [ 3] .. [24],
  [25] #<Struct:Kanrisuru::Core::System::ProcessInfo:0x00045d58
    command = "/usr/sbin/mysqld",
    cpu_time = "00:53:38",
    cpu_usage = 0.3,
    flags = 4,
    gid = 119,
    group = "mysql",
    memory_usage = 2.3,
    ppid = 1,
    pid = 232280,
    policy = "SCHED_OTHER",
    policy_abbr = "TS",
    priority = 19,
    stat = "Ssl",
    uid = 112,
    user = "mysql"
  >,
  [26] #<Struct:Kanrisuru::Core::System::ProcessInfo:0x00045e70
    command = "/usr/sbin/uuidd --socket-activation",
    cpu_time = "00:00:00",
    cpu_usage = 0.0,
    flags = 4,
    gid = 112,
    group = "uuidd",
    memory_usage = 0.0,
    ppid = 1,
    pid = 247616,
    policy = "SCHED_OTHER",
    policy_abbr = "TS",
    priority = 19,
    stat = "Ss",
    uid = 107,
    user = "uuidd"
  >,
  [27] #<Struct:Kanrisuru::Core::System::ProcessInfo:0x00045f88
    command = "/usr/lib/snapd/snapd",
    cpu_time = "00:00:05",
    cpu_usage = 0.0,
    flags = 4,
    gid = 0,
    group = "root",
    memory_usage = 0.2,
    ppid = 1,
    pid = 256325,
    policy = "SCHED_OTHER",
    policy_abbr = "TS",
    priority = 19,
    stat = "Ssl",
    uid = 0,
    user = "root"
  >
]
Exit Status
| Code | Description | 
|---|---|
| 0 | Success | 
| 1 | Failure | 
Tested On
- Ubuntu, Debian, Centos, Fedora, Redhat, OpenSuse, SLES