Module: ProcIndex
- Extended by:
- ProcIndex
- Included in:
- ProcIndex
- Defined in:
- lib/proc_index.rb,
lib/proc_index/util.rb,
lib/proc_index/version.rb,
lib/proc_index/container.rb
Defined Under Namespace
Classes: Container, Error, NoDataError
Constant Summary collapse
- Fields =
@fields- ProcTableStruct =
- VERSION =
"0.1.3"
Class Method Summary collapse
-
.kill_by_pid(pid) ⇒ Object
self.kill_by_pid.
-
.kill_by_results(results) ⇒ Object
self.kill_by_results.
-
.ps(pid = nil) ⇒ Object
self.ps.
-
.search(args) ⇒ Object
self.search -> (pid: 10238492, command: ‘spring isofun rails’) -> (pid: 382973, user: ‘alexmanelis’) -> (‘spring rails server’).
Instance Method Summary collapse
Class Method Details
.kill_by_pid(pid) ⇒ Object
self.kill_by_pid
52 53 54 |
# File 'lib/proc_index.rb', line 52 def self.kill_by_pid(pid) Process.kill 9, pid.to_i end |
.kill_by_results(results) ⇒ Object
self.kill_by_results
45 46 47 |
# 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) ⇒ Object
self.ps
59 60 61 62 63 64 65 66 |
# 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) ⇒ Object
self.search
-> (pid: 10238492, command: 'spring isofun rails')
-> (pid: 382973, user: 'alexmanelis')
-> ('spring rails server')
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# 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 |
Instance Method Details
#could_be_user?(attr) ⇒ Boolean
4 5 |
# File 'lib/proc_index/util.rb', line 4 def could_be_user?(attr) end |