ruby-libgtop2 0.1.0
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.
- data/CHANGELOG.txt +30 -0
- data/History.txt +6 -0
- data/INSTALL.txt +19 -0
- data/Manifest.txt +53 -0
- data/README.txt +21 -0
- data/Rakefile +59 -0
- data/TODO +4 -0
- data/TUTORIAL.txt +28 -0
- data/examples/README +1 -0
- data/examples/first.rb +220 -0
- data/examples/mountlist.rb +30 -0
- data/examples/netload.rb +50 -0
- data/examples/procmap.rb +41 -0
- data/examples/second.rb +207 -0
- data/examples/smp.rb +76 -0
- data/examples/sysdeps.rb +86 -0
- data/ext/libgtop/MANIFEST +30 -0
- data/ext/libgtop/Makefile +149 -0
- data/ext/libgtop/extconf.rb +9 -0
- data/ext/libgtop/mkmf.log +27 -0
- data/ext/libgtop/rb_glibtop.c +61 -0
- data/ext/libgtop/rb_glibtop.h +15 -0
- data/ext/libgtop/rb_glibtop_cpu.c +69 -0
- data/ext/libgtop/rb_glibtop_fsusage.c +43 -0
- data/ext/libgtop/rb_glibtop_init.c +25 -0
- data/ext/libgtop/rb_glibtop_loadavg.c +42 -0
- data/ext/libgtop/rb_glibtop_mem.c +39 -0
- data/ext/libgtop/rb_glibtop_mountlist.c +53 -0
- data/ext/libgtop/rb_glibtop_msg_limits.c +37 -0
- data/ext/libgtop/rb_glibtop_netlist.c +36 -0
- data/ext/libgtop/rb_glibtop_netload.c +82 -0
- data/ext/libgtop/rb_glibtop_ppp.c +39 -0
- data/ext/libgtop/rb_glibtop_proc_args.c +39 -0
- data/ext/libgtop/rb_glibtop_proc_kernel.c +50 -0
- data/ext/libgtop/rb_glibtop_proc_map.c +69 -0
- data/ext/libgtop/rb_glibtop_proc_mem.c +37 -0
- data/ext/libgtop/rb_glibtop_proc_open_files.c +65 -0
- data/ext/libgtop/rb_glibtop_proc_segment.c +39 -0
- data/ext/libgtop/rb_glibtop_proc_signal.c +48 -0
- data/ext/libgtop/rb_glibtop_proc_state.c +46 -0
- data/ext/libgtop/rb_glibtop_proc_time.c +54 -0
- data/ext/libgtop/rb_glibtop_proc_uid.c +58 -0
- data/ext/libgtop/rb_glibtop_proclist.c +56 -0
- data/ext/libgtop/rb_glibtop_sem_limits.c +40 -0
- data/ext/libgtop/rb_glibtop_shm_limits.c +35 -0
- data/ext/libgtop/rb_glibtop_swap.c +36 -0
- data/ext/libgtop/rb_glibtop_sysdeps.c +78 -0
- data/ext/libgtop/rb_glibtop_uptime.c +36 -0
- data/lib/libgtop.rb +3 -0
- data/lib/libgtop/version.rb +9 -0
- data/setup.rb +1585 -0
- data/test/ruby-libgtop2_test.rb +11 -0
- data/test/test_helper.rb +4 -0
- metadata +98 -0
data/CHANGELOG.txt
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
2007-04-12 DATE Ken <itacchi@gmail.com>
|
2
|
+
|
3
|
+
* check & merge new features (libgtop 2.0.0 - 2.14.8)
|
4
|
+
* implement rb_glibtop_proc_open.c
|
5
|
+
* implement rb_glibtop_netlist.c
|
6
|
+
|
7
|
+
2007-03-13 DATE Ken <itacchi@gmail.com>
|
8
|
+
|
9
|
+
* Licence re-changed (GPL to Ruby's)
|
10
|
+
|
11
|
+
2004-09-27 DATE Ken <itacchi@gmail.com>
|
12
|
+
|
13
|
+
* setup.rb: updated 3.3.0
|
14
|
+
* Licence changed (Ruby's to GPL)
|
15
|
+
|
16
|
+
2004-09-25 DATE Ken <itacchi@gmail.com>
|
17
|
+
|
18
|
+
* rb_glibtop_time.c: added xcpu_flags
|
19
|
+
|
20
|
+
2004-09-21 DATE Ken <itacchi@gmail.com>
|
21
|
+
|
22
|
+
* rb_glibtop_cpu.c: remove debug statement
|
23
|
+
|
24
|
+
2004-09-20 DATE Ken <itacchi@gmail.com>
|
25
|
+
|
26
|
+
* first release
|
27
|
+
|
28
|
+
2004-09-19 DATE Ken <itacchi@gmail.com>
|
29
|
+
|
30
|
+
* just started
|
data/History.txt
ADDED
data/INSTALL.txt
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
Ruby/LibGTop2 installation
|
2
|
+
|
3
|
+
Requirements:
|
4
|
+
- Ruby-1.8.x
|
5
|
+
- libgtop-2.6 or later(*1)
|
6
|
+
- pkg-config (*2)
|
7
|
+
|
8
|
+
Installaion:
|
9
|
+
$ ruby setup.rb config
|
10
|
+
$ ruby setup.rb setup
|
11
|
+
# ruby setup.rb install
|
12
|
+
|
13
|
+
or
|
14
|
+
|
15
|
+
# gem install ruby-libgtop2
|
16
|
+
|
17
|
+
---
|
18
|
+
*1 It possibly works with 2.0 (even 1.9?), but I tested only 2.6.
|
19
|
+
*2 extconf.rb use it.
|
data/Manifest.txt
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
CHANGELOG.txt
|
2
|
+
History.txt
|
3
|
+
INSTALL.txt
|
4
|
+
Manifest.txt
|
5
|
+
README.txt
|
6
|
+
Rakefile
|
7
|
+
TODO
|
8
|
+
TUTORIAL.txt
|
9
|
+
examples/README
|
10
|
+
examples/first.rb
|
11
|
+
examples/mountlist.rb
|
12
|
+
examples/netload.rb
|
13
|
+
examples/procmap.rb
|
14
|
+
examples/second.rb
|
15
|
+
examples/smp.rb
|
16
|
+
examples/sysdeps.rb
|
17
|
+
ext/libgtop/MANIFEST
|
18
|
+
ext/libgtop/Makefile
|
19
|
+
ext/libgtop/extconf.rb
|
20
|
+
ext/libgtop/mkmf.log
|
21
|
+
ext/libgtop/rb_glibtop.c
|
22
|
+
ext/libgtop/rb_glibtop.h
|
23
|
+
ext/libgtop/rb_glibtop_cpu.c
|
24
|
+
ext/libgtop/rb_glibtop_fsusage.c
|
25
|
+
ext/libgtop/rb_glibtop_init.c
|
26
|
+
ext/libgtop/rb_glibtop_loadavg.c
|
27
|
+
ext/libgtop/rb_glibtop_mem.c
|
28
|
+
ext/libgtop/rb_glibtop_mountlist.c
|
29
|
+
ext/libgtop/rb_glibtop_msg_limits.c
|
30
|
+
ext/libgtop/rb_glibtop_netlist.c
|
31
|
+
ext/libgtop/rb_glibtop_netload.c
|
32
|
+
ext/libgtop/rb_glibtop_ppp.c
|
33
|
+
ext/libgtop/rb_glibtop_proc_args.c
|
34
|
+
ext/libgtop/rb_glibtop_proc_kernel.c
|
35
|
+
ext/libgtop/rb_glibtop_proc_map.c
|
36
|
+
ext/libgtop/rb_glibtop_proc_mem.c
|
37
|
+
ext/libgtop/rb_glibtop_proc_open_files.c
|
38
|
+
ext/libgtop/rb_glibtop_proc_segment.c
|
39
|
+
ext/libgtop/rb_glibtop_proc_signal.c
|
40
|
+
ext/libgtop/rb_glibtop_proc_state.c
|
41
|
+
ext/libgtop/rb_glibtop_proc_time.c
|
42
|
+
ext/libgtop/rb_glibtop_proc_uid.c
|
43
|
+
ext/libgtop/rb_glibtop_proclist.c
|
44
|
+
ext/libgtop/rb_glibtop_sem_limits.c
|
45
|
+
ext/libgtop/rb_glibtop_shm_limits.c
|
46
|
+
ext/libgtop/rb_glibtop_swap.c
|
47
|
+
ext/libgtop/rb_glibtop_sysdeps.c
|
48
|
+
ext/libgtop/rb_glibtop_uptime.c
|
49
|
+
lib/libgtop.rb
|
50
|
+
lib/libgtop/version.rb
|
51
|
+
setup.rb
|
52
|
+
test/ruby-libgtop2_test.rb
|
53
|
+
test/test_helper.rb
|
data/README.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
Ruby/LibGTop2 README
|
2
|
+
|
3
|
+
What is:
|
4
|
+
Ruby/LibGtop2 is a wrapper library of a GNOME libgtop version2.x for Ruby.
|
5
|
+
|
6
|
+
Requirements:
|
7
|
+
- ruby-1.8.x: http://www.ruby-lang.org/
|
8
|
+
- libgtop-2.x: http://ftp.gnome.org/pub/gnome/sources/libgtop/
|
9
|
+
- pkg-config: http://www.freedesktop.org/Software/pkgconfig
|
10
|
+
|
11
|
+
Installation:
|
12
|
+
see INSTALL.*
|
13
|
+
|
14
|
+
Documentations:
|
15
|
+
see libgtop's info...
|
16
|
+
|
17
|
+
License:
|
18
|
+
Ruby's
|
19
|
+
|
20
|
+
References:
|
21
|
+
- ruby_libgtop: http://raa.ruby-lang.org/project/ruby_libgtop/
|
data/Rakefile
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
require 'rake/clean'
|
4
|
+
require 'rake/testtask'
|
5
|
+
require 'rake/packagetask'
|
6
|
+
require 'rake/gempackagetask'
|
7
|
+
require 'rake/rdoctask'
|
8
|
+
require 'rake/contrib/rubyforgepublisher'
|
9
|
+
require 'fileutils'
|
10
|
+
require 'hoe'
|
11
|
+
include FileUtils
|
12
|
+
require File.join(File.dirname(__FILE__), 'lib', 'libgtop', 'version')
|
13
|
+
|
14
|
+
AUTHOR = "date" # can also be an array of Authors
|
15
|
+
EMAIL = "itacchi@gmail.com"
|
16
|
+
DESCRIPTION = "Ruby bindings for GNOME libgtop version2.x. "
|
17
|
+
GEM_NAME = "ruby-libgtop2" # what ppl will type to install your gem
|
18
|
+
RUBYFORGE_PROJECT = "ruby-libgtop2" # The unix name for your project
|
19
|
+
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
20
|
+
|
21
|
+
|
22
|
+
NAME = "ruby-libgtop2"
|
23
|
+
REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
|
24
|
+
VERS = ENV['VERSION'] || (LibGTop::VERSION::STRING + (REV ? ".#{REV}" : ""))
|
25
|
+
CLEAN.include ['**/.*.sw?', '*.gem', '.config']
|
26
|
+
RDOC_OPTS = ['--quiet', '--title', "ruby-libgtop2 documentation",
|
27
|
+
"--opname", "index.html",
|
28
|
+
"--line-numbers",
|
29
|
+
"--main", "README",
|
30
|
+
"--inline-source"]
|
31
|
+
|
32
|
+
class Hoe
|
33
|
+
def extra_deps
|
34
|
+
@extra_deps.reject { |x| Array(x).first == 'hoe' }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# Generate all the Rake tasks
|
39
|
+
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
40
|
+
hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
41
|
+
p.author = AUTHOR
|
42
|
+
p.description = DESCRIPTION
|
43
|
+
p.email = EMAIL
|
44
|
+
p.summary = DESCRIPTION
|
45
|
+
p.url = HOMEPATH
|
46
|
+
p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
|
47
|
+
p.test_globs = ["test/**/*_test.rb"]
|
48
|
+
p.clean_globs = CLEAN #An array of file patterns to delete on clean.
|
49
|
+
|
50
|
+
# == Optional
|
51
|
+
#p.changes - A description of the release's latest changes.
|
52
|
+
#p.extra_deps - An array of rubygem dependencies.
|
53
|
+
#p.spec_extras - A hash of extra values to set in the gemspec.
|
54
|
+
|
55
|
+
p.rdoc_pattern = /^(lib|bin|ext)|txt$/
|
56
|
+
p.spec_extras = {
|
57
|
+
:extensions => ['ext/libgtop/extconf.rb']
|
58
|
+
}
|
59
|
+
end
|
data/TODO
ADDED
data/TUTORIAL.txt
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
Ruby/LibGTop2 tutorial
|
2
|
+
|
3
|
+
1. install Ruby
|
4
|
+
You install Ruby the Object-Oriented Scripting Language.
|
5
|
+
Go http://www.ruby-lang.org/en/.
|
6
|
+
|
7
|
+
2. install libgtop 2.x and pkg-config
|
8
|
+
* http://ftp.gnome.org/pub/gnome/sources/libgtop/
|
9
|
+
* http://pkgconfig.freedesktop.org/releases/
|
10
|
+
|
11
|
+
2. install Ruby/LibGTop2 and other requirements
|
12
|
+
see INSTALL.*
|
13
|
+
|
14
|
+
3. write code
|
15
|
+
|
16
|
+
# example code
|
17
|
+
# show mem info like as top(1)
|
18
|
+
require 'libgtop'
|
19
|
+
gtop = LibGTop.new
|
20
|
+
gtop.init
|
21
|
+
# get mem info
|
22
|
+
mem = gtop.mem
|
23
|
+
# all of results are Hash object
|
24
|
+
printf "Mem: %uk total, %uk used, %uk free, %uk buffers\n",
|
25
|
+
mem["total"] / 1024, mem["used"] / 1024,
|
26
|
+
mem["free"] / 1024, mem["buffer"] / 1024
|
27
|
+
|
28
|
+
See examples/ for more detail.
|
data/examples/README
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
port of libgtop's example directory
|
data/examples/first.rb
ADDED
@@ -0,0 +1,220 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$:.unshift('../ext/')
|
4
|
+
require 'libgtop'
|
5
|
+
|
6
|
+
def format(i)
|
7
|
+
"%u" % i
|
8
|
+
end
|
9
|
+
|
10
|
+
def data2str(data, ary, delimiter = ", ")
|
11
|
+
str =
|
12
|
+
ary.collect do |i|
|
13
|
+
Array(data[i]).flatten.join(delimiter)
|
14
|
+
end.join(delimiter)
|
15
|
+
sprintf "(0x%08x): #{str}", data["flags"]
|
16
|
+
end
|
17
|
+
|
18
|
+
def print_result(label, data, columns)
|
19
|
+
result = data2str(data, columns)
|
20
|
+
print "#{label}" + " " * (13 - label.size) + "#{result}\n"
|
21
|
+
end
|
22
|
+
|
23
|
+
def print_result_with_pid(label, pid, data, columns)
|
24
|
+
result = data2str(data, columns, " ")
|
25
|
+
print "#{label}" + " " * (13 - label.size) + "PID #{pid} #{result}\n"
|
26
|
+
end
|
27
|
+
|
28
|
+
def print_result_with_ppid(label, ppid, data, columns)
|
29
|
+
result = data2str(data, columns, " ")
|
30
|
+
print "#{label}" + " " * (13 - label.size) + "PPID #{ppid} #{result}\n"
|
31
|
+
end
|
32
|
+
|
33
|
+
def print_result_with_init(label, data, columns)
|
34
|
+
result = data2str(data, columns, " ")
|
35
|
+
print "#{label}" + " " * (13 - label.size) + "INIT #{1} #{result}\n"
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
gtop = LibGTop.new
|
40
|
+
|
41
|
+
gtop.init
|
42
|
+
|
43
|
+
cpu = gtop.cpu
|
44
|
+
ary = ["total", "user", "nice", "sys", "idle", "frequency"]
|
45
|
+
print_result("CPU", cpu, ary)
|
46
|
+
|
47
|
+
mem = gtop.mem
|
48
|
+
ary = ["total", "used", "free", "shared", "buffer", "cached", "user", "locked"]
|
49
|
+
print_result("Memory", mem, ary)
|
50
|
+
|
51
|
+
|
52
|
+
swap = gtop.swap
|
53
|
+
ary = ["total", "used", "free", "pagein", "pageout"]
|
54
|
+
print_result("Swap", swap, ary)
|
55
|
+
|
56
|
+
uptime = gtop.uptime
|
57
|
+
ary = ["uptime", "idletime"]
|
58
|
+
print_result("Uptime", uptime, ary)
|
59
|
+
|
60
|
+
loadavg = gtop.loadavg
|
61
|
+
ary = ["loadavg", "nr_running", "nr_tasks", "last_pid"]
|
62
|
+
print_result("Loadavg", loadavg, ary)
|
63
|
+
|
64
|
+
shm_limits = gtop.shm_limits
|
65
|
+
ary = ["shmmax", "shmmin", "shmmni", "shmseg", "shmall"]
|
66
|
+
print_result("Shm Limits", shm_limits, ary)
|
67
|
+
|
68
|
+
msg_limits = gtop.msg_limits
|
69
|
+
ary = ["msgpool", "msgmap", "msgmax", "msgmnb", "msgmni", "msgssz", "msgtql"]
|
70
|
+
print_result("Msg Limits", msg_limits, ary)
|
71
|
+
|
72
|
+
sem_limits = gtop.sem_limits
|
73
|
+
ary = ["semmap", "semmni", "semmns", "semmnu", "semmsl", "semopm", "semume", "semusz", "semvmx", "semaem"]
|
74
|
+
print_result("Sem Limits", sem_limits, ary)
|
75
|
+
|
76
|
+
puts ""
|
77
|
+
|
78
|
+
ppp = gtop.ppp(0)
|
79
|
+
ary = ["state", "bytes_in", "bytes_out"]
|
80
|
+
print_result("PPP", ppp, ary)
|
81
|
+
|
82
|
+
puts ""
|
83
|
+
|
84
|
+
sysdeps = gtop.sysdeps
|
85
|
+
ary = ["cpu", "mem", "swap", "uptime", "loadavg", "shm_limits", "msg_limits",
|
86
|
+
"sem_limits", "proclist", "proc_state", "proc_uid", "proc_mem", "proc_time",
|
87
|
+
"proc_signal", "proc_kernel", "proc_segment", "proc_args", "proc_map",
|
88
|
+
"mountlist", "fsusage", "netload", "ppp"]
|
89
|
+
print_result("Sysdeps", sysdeps, ary)
|
90
|
+
|
91
|
+
puts ""
|
92
|
+
|
93
|
+
proclist = gtop.proclist(0, 0)
|
94
|
+
ary = ["number", "size", "total"]
|
95
|
+
print_result("Proclist", proclist, ary)
|
96
|
+
unless proclist["pids"].empty?
|
97
|
+
print "\nProcess: "
|
98
|
+
print proclist["pids"].join(", ")
|
99
|
+
puts ""
|
100
|
+
end
|
101
|
+
|
102
|
+
pid = Process.pid
|
103
|
+
ppid = Process.ppid
|
104
|
+
|
105
|
+
puts ""
|
106
|
+
|
107
|
+
proc_state = gtop.proc_state(pid)
|
108
|
+
ary = ["cmd", "state", "uid", "gid"]
|
109
|
+
print_result_with_pid("Proc_State", pid, proc_state, ary)
|
110
|
+
|
111
|
+
proc_uid = gtop.proc_uid(pid)
|
112
|
+
ary = ["uid", "euid", "gid", "egid", "pid", "ppid", "pgrp", "session",
|
113
|
+
"tty", "tpgid", "priority", "nice"]
|
114
|
+
print_result_with_pid("Proc_Uid", pid, proc_uid, ary)
|
115
|
+
|
116
|
+
proc_mem = gtop.proc_mem(pid)
|
117
|
+
ary = ["size", "vsize", "resident", "share", "rss", "rss_rlim"]
|
118
|
+
print_result_with_pid("Proc_Mem", pid, proc_mem, ary)
|
119
|
+
|
120
|
+
proc_segment = gtop.proc_segment(pid)
|
121
|
+
ary = ["text_rss", "shlib_rss", "data_rss", "stack_rss", "dirty_size",
|
122
|
+
"start_code", "end_code", "start_stack"]
|
123
|
+
print_result_with_pid("Prco_Segment", pid, proc_segment, ary)
|
124
|
+
|
125
|
+
proc_time = gtop.proc_time(pid)
|
126
|
+
ary = ["start_time", "rtime", "utime", "stime", "cutime", "cstime",
|
127
|
+
"timeout", "it_real_value", "frequency"]
|
128
|
+
print_result_with_pid("Proc_Time", pid, proc_time, ary)
|
129
|
+
|
130
|
+
proc_signal = gtop.proc_signal(pid)
|
131
|
+
ary = ["signal", "blocked", "sigignore", "sigcatch"]
|
132
|
+
print_result_with_pid("Proc_Signal", pid, proc_signal, ary)
|
133
|
+
|
134
|
+
proc_kernel = gtop.proc_kernel(pid)
|
135
|
+
ary = ["k_flags", "min_flt", "maj_flt", "cmin_flt", "cmaj_flt",
|
136
|
+
"kstk_esp", "kstk_eip", "nwchan", "wchan"]
|
137
|
+
print_result_with_pid("Proc_Kernel", pid, proc_kernel, ary)
|
138
|
+
|
139
|
+
proc_args = gtop.proc_args(pid)
|
140
|
+
ary = ["size", "args"]
|
141
|
+
proc_args["args"] = proc_args["args"].split(/\000/, -1).join('|')
|
142
|
+
print_result_with_ppid("Proc_Args", pid, proc_args, ary)
|
143
|
+
|
144
|
+
puts ""
|
145
|
+
|
146
|
+
proc_state = gtop.proc_state(ppid)
|
147
|
+
ary = ["cmd", "state", "uid", "gid"]
|
148
|
+
print_result_with_ppid("Proc_State", ppid, proc_state, ary)
|
149
|
+
|
150
|
+
proc_uid = gtop.proc_uid(ppid)
|
151
|
+
ary = ["uid", "euid", "gid", "egid", "pid", "ppid", "pgrp", "session",
|
152
|
+
"tty", "tpgid", "priority", "nice"]
|
153
|
+
print_result_with_ppid("Proc_Uid", ppid, proc_uid, ary)
|
154
|
+
|
155
|
+
proc_mem = gtop.proc_mem(ppid)
|
156
|
+
ary = ["size", "vsize", "resident", "share", "rss", "rss_rlim"]
|
157
|
+
print_result_with_ppid("Proc_Mem", ppid, proc_mem, ary)
|
158
|
+
|
159
|
+
proc_segment = gtop.proc_segment(ppid)
|
160
|
+
ary = ["text_rss", "shlib_rss", "data_rss", "stack_rss", "dirty_size",
|
161
|
+
"start_code", "end_code", "start_stack"]
|
162
|
+
print_result_with_ppid("Prco_Segment", ppid, proc_segment, ary)
|
163
|
+
|
164
|
+
proc_time = gtop.proc_time(ppid)
|
165
|
+
ary = ["start_time", "rtime", "utime", "stime", "cutime", "cstime",
|
166
|
+
"timeout", "it_real_value", "frequency"]
|
167
|
+
print_result_with_ppid("Proc_Time", ppid, proc_time, ary)
|
168
|
+
|
169
|
+
proc_signal = gtop.proc_signal(ppid)
|
170
|
+
ary = ["signal", "blocked", "sigignore", "sigcatch"]
|
171
|
+
print_result_with_ppid("Proc_Signal", ppid, proc_signal, ary)
|
172
|
+
|
173
|
+
proc_kernel = gtop.proc_kernel(ppid)
|
174
|
+
ary = ["k_flags", "min_flt", "maj_flt", "cmin_flt", "cmaj_flt",
|
175
|
+
"kstk_esp", "kstk_eip", "nwchan", "wchan"]
|
176
|
+
print_result_with_ppid("Proc_Kernel", ppid, proc_kernel, ary)
|
177
|
+
|
178
|
+
proc_args = gtop.proc_args(ppid)
|
179
|
+
ary = ["size", "args"]
|
180
|
+
proc_args["args"] = proc_args["args"].split(/\000/, -1).join('|')
|
181
|
+
print_result_with_ppid("Proc_Args", ppid, proc_args, ary)
|
182
|
+
|
183
|
+
puts ""
|
184
|
+
|
185
|
+
proc_state = gtop.proc_state(1)
|
186
|
+
ary = ["cmd", "state", "uid", "gid"]
|
187
|
+
print_result_with_init("Proc_State", proc_state, ary)
|
188
|
+
|
189
|
+
proc_uid = gtop.proc_uid(1)
|
190
|
+
ary = ["uid", "euid", "gid", "egid", "pid", "ppid", "pgrp", "session",
|
191
|
+
"tty", "tpgid", "priority", "nice"]
|
192
|
+
print_result_with_init("Proc_Uid", proc_uid, ary)
|
193
|
+
|
194
|
+
proc_mem = gtop.proc_mem(1)
|
195
|
+
ary = ["size", "vsize", "resident", "share", "rss", "rss_rlim"]
|
196
|
+
print_result_with_init("Proc_Mem", proc_mem, ary)
|
197
|
+
|
198
|
+
proc_segment = gtop.proc_segment(1)
|
199
|
+
ary = ["text_rss", "shlib_rss", "data_rss", "stack_rss", "dirty_size",
|
200
|
+
"start_code", "end_code", "start_stack"]
|
201
|
+
print_result_with_init("Prco_Segment", proc_segment, ary)
|
202
|
+
|
203
|
+
proc_time = gtop.proc_time(1)
|
204
|
+
ary = ["start_time", "rtime", "utime", "stime", "cutime", "cstime",
|
205
|
+
"timeout", "it_real_value", "frequency"]
|
206
|
+
print_result_with_init("Proc_Time", proc_time, ary)
|
207
|
+
|
208
|
+
proc_signal = gtop.proc_signal(1)
|
209
|
+
ary = ["signal", "blocked", "sigignore", "sigcatch"]
|
210
|
+
print_result_with_init("Proc_Signal", proc_signal, ary)
|
211
|
+
|
212
|
+
proc_kernel = gtop.proc_kernel(1)
|
213
|
+
ary = ["k_flags", "min_flt", "maj_flt", "cmin_flt", "cmaj_flt",
|
214
|
+
"kstk_esp", "kstk_eip", "nwchan", "wchan"]
|
215
|
+
print_result_with_init("Proc_Kernel", proc_kernel, ary)
|
216
|
+
|
217
|
+
proc_args = gtop.proc_args(1)
|
218
|
+
ary = ["size", "args"]
|
219
|
+
proc_args["args"] = proc_args["args"].split(/\000/, -1).join('|')
|
220
|
+
print_result_with_init("Proc_Args", proc_args, ary)
|