Class: Sys::Top
- Inherits:
-
Object
- Object
- Sys::Top
- 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
-
.top(num = 10, field = 'pctcpu') ⇒ Object
Returns an array of Struct::ProcTableStruct elements containing up to
numelements, sorted byfield.
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 31 32 33 34 35 |
# 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 dragonfly = RbConfig::CONFIG['host_os'] =~ /dragonfly/i # Sort by pid on Windows and AIX by default if (File::ALT_SEPARATOR || aix || darwin) && field == 'pctcpu' field = 'pid' end if dragonfly && field == 'pctcpu' Sys::ProcTable.ps.sort_by{ |obj| obj.lwp.pctcpu }[0..num-1] else Sys::ProcTable.ps.sort_by{ |obj| obj.send(field) || '' }[0..num-1] end end |