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 +4 -4
- data/lib/process_manager/children_monitor.rb +10 -2
- data/lib/process_manager/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c40afe7643dc3027b4ba15f52405ace6eb0c0ff7
|
4
|
+
data.tar.gz: 012007e3eb655eadc6b040ff14f0d925ee1b7be2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
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)
|