Class: Sys::Top

Inherits:
Object
  • Object
show all
Defined in:
lib/sys/top.rb

Overview

The Top class serves as a toplevel name for the 'top' method.

Constant Summary collapse

VERSION =

The version of the sys-top library

'1.0.5'.freeze

Class Method Summary collapse

Class Method Details

.top(num = 10, field = 'pctcpu') ⇒ Object

Returns an array of Struct::ProcTableStruct elements containing up to num elements, sorted by field. The default number of elements is 10, while the default field is 'pctcpu'.

Exception: the default sort field is 'pid' on AIX, Darwin and Windows.


18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sys/top.rb', line 18

def self.top(num=10, field='pctcpu')
  field = field.to_s if field.is_a?(Symbol)

  aix = RbConfig::CONFIG['host_os'] =~ /aix/i
  darwin = RbConfig::CONFIG['host_os'] =~ /darwin/i

  # Sort by pid on Windows and AIX by default
  if (File::ALT_SEPARATOR || aix || darwin) && field == 'pctcpu'
    field = 'pid'
  end

  Sys::ProcTable.ps.sort_by{ |obj| obj.send(field) || '' }[0..num-1]
end