process_manager 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5a4fe49a4099285848aeabf932fa2aeceb25dbc4
4
- data.tar.gz: aa4e11cb7f3f39ffc8eb34fc369b4d738bcbbcdb
3
+ metadata.gz: c40afe7643dc3027b4ba15f52405ace6eb0c0ff7
4
+ data.tar.gz: 012007e3eb655eadc6b040ff14f0d925ee1b7be2
5
5
  SHA512:
6
- metadata.gz: 655aafb4e076877a06436239c10848ba61735ea2e8fefddc2a567d1896e09a876bbb27be6792e4e54368e27f0bf8e19926a95840d7874d1ae708f89a22f1a110
7
- data.tar.gz: 28122f3c828dea93ba9044168eb4e5fed9ef11b65e375a33edf4e1bbbc0c23a55c9c6a995ab8213284b558e89b03356d6f4d640ca8fbb8786df3d4be6f7701b0
6
+ metadata.gz: 726b308384cbe71d6d1ac03cc0cf4f5cf684c99914da3e2ee58ba24d38ab7a6c9649be7d3ae4c9cb23b9a8648ca706f19398ca8da2e10a9bf7a65bba4a3c6354
7
+ data.tar.gz: 1a99002d561ab7f7e810de0951a59e2942d34ef1537ae7b5fd84fe6398a420a5be5139e378066f5d64e7a29bb5d2ea8d1a5a38d980cfbb4a090f0ce2c6454752
@@ -49,13 +49,21 @@ class ProcessManager::ChildrenMonitor
49
49
  end
50
50
 
51
51
  def process_memory_usage(pid)
52
- %x{ps -p #{pid} -orss -h}.strip.to_i / 1024
52
+ File.read("/proc/#{pid}/statm").split(/\s+/)[1].to_i * 4096 / 1024 / 1024
53
53
  end
54
54
 
55
55
  def children_pids
56
56
  ppid = parent_pid
57
57
  return [] unless ppid
58
- %x{ps --ppid #{parent_pid} -opid h}.split("\n").map{ |pid| pid.strip.to_i }
58
+ [].tap do |list|
59
+ Dir["/proc/*/stat"].each do |path|
60
+ data = File.read(path) rescue
61
+ next unless data
62
+ data = data.split(/\s+/)
63
+ next unless data[3].to_i == ppid
64
+ list << data[0].to_i
65
+ end
66
+ end
59
67
  end
60
68
 
61
69
  def gracefully_kill_child(pid)
@@ -1,3 +1,3 @@
1
1
  module ProcessManager
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: process_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Corin Langosch