#!/usr/local/bin/ruby
# $Id: lps,v 1.1 2001/09/18 21:57:27 tfraser Exp $
require 'lomac'

l = Lomac.new
ps = File.popen("ps #{ARGV.join(' ')}")
psl = ps.readlines
x = {:highest => [], :lowest => []}
pidoff = psl[0].split.index("PID")
psl[1..-1].each {|line|
	pid = Integer(line.split[pidoff])
	if pid != ps.pid
		x[l.process_level(pid)].push(line)
	end
}
print psl[0]
print "High-level processes:\n"
print "---------------------\n"
puts x[:highest].sort
print "Low-level processes:\n"
print "--------------------\n"
puts x[:lowest].sort
