process_manager 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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