module ProcIndex
Constants
- Fields
- ProcTableStruct
- VERSION
Public Class Methods
kill_by_pid(pid)
click to toggle source
self.kill_by_pid
# File lib/proc_index.rb, line 52 def self.kill_by_pid(pid) Process.kill 9, pid.to_i end
kill_by_results(results)
click to toggle source
self.kill_by_results
# File lib/proc_index.rb, line 45 def self.kill_by_results(results) results.collect { |node| Process.kill 9, node.pid.to_i } end
ps(pid=nil)
click to toggle source
self.ps
# File lib/proc_index.rb, line 59 def self.ps(pid=nil) array = block_given? ? nil : [] struct = nil raise TypeError unless pid.is_a?(Fixnum) if pid pid.nil? ? get_process_list : get_process_list(pid: pid) end
search(args)
click to toggle source
self.search
-> (pid: 10238492, command: 'spring isofun rails') -> (pid: 382973, user: 'alexmanelis') -> ('spring rails server')
# File lib/proc_index.rb, line 74 def self.search(args) raise ArgumentError.new("Invalid arguments passed: #{args.inspect}") if args.nil? process_list = get_process_list process_body = process_list.body matcher_instances = [] case args.class.to_s when 'Hash' args.map do |k, v| matcher_instances << {instance: FuzzyMatch.new(process_body, read: k), query: v} end when 'String' # matcher_instances << {instance: FuzzyMatch.new(process_body, read: :command), # query: args.strip.downcase} else raise ArgumentError.new("Invalid search args: #{args.inspect} -> #{args.class.inspect}") end if matcher_instances.empty? results = process_body.select { |node| node.command.include?(args.downcase.strip) } else results = matcher_instances.inject([]) do |result, instance| result << instance[:instance].find(instance[:query]) end end results end
Private Class Methods
get_process_list() { || ... }
click to toggle source
self.get_process_list
# File lib/proc_index.rb, line 109 def self.get_process_list yield if block_given? begin stdin, stdout, stderr = Open3.popen3("ps aux") stdout = stdout.read stderr = stderr.read rescue => e raise StandardError.new("Error opening stream from process list -> #{e}") end ProcIndex::Container.new(@fields, stdout) end
Public Instance Methods
could_be_user?(attr)
click to toggle source
# File lib/proc_index/util.rb, line 4 def could_be_user?(attr) end