hawatel_ps 0.1.1
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 +7 -0
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/.travis.yml +4 -0
- data/.yardopts +1 -0
- data/CONTRIBUTING.md +74 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +184 -0
- data/Rakefile +12 -0
- data/hawatel_ps.gemspec +29 -0
- data/lib/hawatel_ps/linux/proc_control.rb +75 -0
- data/lib/hawatel_ps/linux/proc_fetch.rb +405 -0
- data/lib/hawatel_ps/linux/proc_info.rb +53 -0
- data/lib/hawatel_ps/linux/proc_table.rb +124 -0
- data/lib/hawatel_ps/linux.rb +4 -0
- data/lib/hawatel_ps/shared/hawatelps_exception.rb +21 -0
- data/lib/hawatel_ps/version.rb +3 -0
- data/lib/hawatel_ps/windows/proc_control.rb +67 -0
- data/lib/hawatel_ps/windows/proc_fetch.rb +217 -0
- data/lib/hawatel_ps/windows/proc_info.rb +51 -0
- data/lib/hawatel_ps/windows/proc_table.rb +138 -0
- data/lib/hawatel_ps/windows/wmi/wmi_cli.rb +65 -0
- data/lib/hawatel_ps/windows/wmi/wmi_exception.rb +23 -0
- data/lib/hawatel_ps/windows/wmi/wmi_instance.rb +56 -0
- data/lib/hawatel_ps/windows.rb +5 -0
- data/lib/hawatel_ps.rb +34 -0
- data/spec/hawatel_ps_spec.rb +11 -0
- data/spec/linux/bdd/proc_spec.rb +54 -0
- data/spec/linux/factories/etc/passwd +32 -0
- data/spec/linux/factories/proc/1761/cmdline +0 -0
- data/spec/linux/factories/proc/1761/environ +0 -0
- data/spec/linux/factories/proc/1761/io +7 -0
- data/spec/linux/factories/proc/1761/limits +17 -0
- data/spec/linux/factories/proc/1761/stat +1 -0
- data/spec/linux/factories/proc/1761/status +46 -0
- data/spec/linux/factories/proc/meminfo +45 -0
- data/spec/linux/factories/proc/net/tcp +7 -0
- data/spec/linux/factories/proc/net/udp +8 -0
- data/spec/linux/factories/proc/uptime +1 -0
- data/spec/linux/support/stub_dir.rb +33 -0
- data/spec/linux/support/stub_file.rb +107 -0
- data/spec/linux/tdd/proc_fetch_spec.rb +107 -0
- data/spec/linux/tdd/proc_table_spec.rb +85 -0
- data/spec/shared/hawatelps_exception_spec.rb +13 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/windows/bdd/proc_spec.rb +119 -0
- data/spec/windows/factories/proc_fetch_factorie.rb +76 -0
- data/spec/windows/tdd/proc_control_spec.rb +36 -0
- data/spec/windows/tdd/proc_fetch_spec.rb +73 -0
- data/spec/windows/tdd/proc_table_spec.rb +71 -0
- data/spec/windows/tdd/wmi_spec.rb +59 -0
- metadata +181 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
factory :win32_data, class:Hash do
|
3
|
+
proc_attrs {{
|
4
|
+
:availablevirtualsize => "3817041920",
|
5
|
+
:caption => "rubymine.exe",
|
6
|
+
:childs => [],
|
7
|
+
:commandline => "\"C:\\Program Files (x86)\\JetBrains\\RubyMine 8.0.3\\bin\\rubymine.exe\" ",
|
8
|
+
:cpupercent => "19.47",
|
9
|
+
:creationclassname => "Win32_Process",
|
10
|
+
:creationdate => "20160307091252.612549+060",
|
11
|
+
:cscreationclassname => "Win32_ComputerSystem",
|
12
|
+
:csname => "TEST",
|
13
|
+
:description => "rubymine.exe",
|
14
|
+
:domain => "CORP",
|
15
|
+
:executablepath => "C:\\Program Files (x86)\\JetBrains\\RubyMine 8.0.3\\bin\\rubymine.exe",
|
16
|
+
:handle => "9336",
|
17
|
+
:handlecount => "799",
|
18
|
+
:kernelmodetime => "3058906250",
|
19
|
+
:maximumworkingsetsize => "1380",
|
20
|
+
:memorypercent => "5.09",
|
21
|
+
:minimumworkingsetsize => "200",
|
22
|
+
:name => "rubymine.exe",
|
23
|
+
:oscreationclassname => "Win32_OperatingSystem",
|
24
|
+
:osname => "Microsoft Windows|C:\\WINDOWS|\\Device\\Harddisk0\\Partition2",
|
25
|
+
:otheroperationcount => "3662530",
|
26
|
+
:othertransfercount => "65362876",
|
27
|
+
:pagefaults => "404989",
|
28
|
+
:pagefileusage => "480264",
|
29
|
+
:parentprocessid => "9336",
|
30
|
+
:peakpagefileusage => "481136",
|
31
|
+
:peakvirtualsize => "997543936",
|
32
|
+
:peakworkingsetsize => "428776",
|
33
|
+
:priority => "8",
|
34
|
+
:privatepagecount => "491790336",
|
35
|
+
:processid => "9336",
|
36
|
+
:quotanonpagedpoolusage => "57",
|
37
|
+
:quotapagedpoolusage => "248",
|
38
|
+
:quotapeaknonpagedpoolusage => "92",
|
39
|
+
:quotapeakpagedpoolusage => "273",
|
40
|
+
:readoperationcount => "304603",
|
41
|
+
:readtransfercount => "306717431",
|
42
|
+
:sessionid => "9",
|
43
|
+
:threadcount => "56",
|
44
|
+
:user => "asmith",
|
45
|
+
:usermodetime => "94399218750",
|
46
|
+
:sid => "S-1-2-10-0000000000-1111111111-2222222222-1000",
|
47
|
+
:virtualsize => "982863872",
|
48
|
+
:windowsversion => "10.0.10586",
|
49
|
+
:workingsetsize => "437301248",
|
50
|
+
:writeoperationcount => "80408",
|
51
|
+
:writetransfercount => "450486611"}}
|
52
|
+
|
53
|
+
users {{
|
54
|
+
:accounttype => 512,
|
55
|
+
:caption => "CORP\\asmith",
|
56
|
+
:description => "Account for administering the computer/domain",
|
57
|
+
:disabled => "false",
|
58
|
+
:domain => "CORP",
|
59
|
+
'domain' => "CORP",
|
60
|
+
:fullname => "",
|
61
|
+
:installdate => nil,
|
62
|
+
:localaccount => "true",
|
63
|
+
:lockout => "false",
|
64
|
+
:name => "asmith",
|
65
|
+
'name' => "asmith",
|
66
|
+
:passwordchangeable => "true",
|
67
|
+
:passwordexpires => "false",
|
68
|
+
:passwordrequired => "true",
|
69
|
+
:sid => "S-1-2-10-0000000000-1111111111-2222222222-1000",
|
70
|
+
'sid' => "S-1-2-10-0000000000-1111111111-2222222222-1000",
|
71
|
+
:sidtype => 1,
|
72
|
+
:status => "OK"
|
73
|
+
}}
|
74
|
+
initialize_with { attributes }
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe HawatelPS::Windows::ProcControl do
|
4
|
+
let(:win32_data) { FactoryGirl.build(:win32_data) }
|
5
|
+
let(:wmi_obj) { double 'WIN32OLE', :ole_respond_to? => 1, :Terminate => 0}
|
6
|
+
|
7
|
+
before do
|
8
|
+
allow(HawatelPS::Windows::ProcFetch).to receive(:get_process).and_return(Array.new([win32_data[:proc_attrs]]))
|
9
|
+
end
|
10
|
+
|
11
|
+
it '#state process is running' do
|
12
|
+
allow(Process).to receive(:kill).and_return(1)
|
13
|
+
process = HawatelPS::Windows::ProcTable.proc_table
|
14
|
+
expect(process[0].status).to eq("running")
|
15
|
+
end
|
16
|
+
|
17
|
+
it '#state process is not running' do
|
18
|
+
allow(Process).to receive(:kill).and_raise(Errno::ESRCH)
|
19
|
+
process = HawatelPS::Windows::ProcTable.proc_table
|
20
|
+
expect(process[0].status).to eq("not running")
|
21
|
+
end
|
22
|
+
|
23
|
+
it '#terminate process successful' do
|
24
|
+
allow(@proc_attrs).to receive(:Terminate).and_return(0)
|
25
|
+
allow(@proc_attrs).to receive(:ole_respond_to?).and_return(1)
|
26
|
+
process = HawatelPS::Windows::ProcTable.proc_table
|
27
|
+
expect(process[0].terminate).to eq(0)
|
28
|
+
end
|
29
|
+
|
30
|
+
it '#terminate process no successful' do
|
31
|
+
allow(@proc_attrs).to receive(:Terminate).and_raise(WIN32OLERuntimeError)
|
32
|
+
allow(@proc_attrs).to receive(:ole_respond_to?).and_return(1)
|
33
|
+
process = HawatelPS::Windows::ProcTable.proc_table
|
34
|
+
expect(process[0].terminate).to eq(1)
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'ostruct'
|
3
|
+
|
4
|
+
describe HawatelPS::Windows::ProcFetch do
|
5
|
+
let(:win32_data) { FactoryGirl.build(:win32_data) }
|
6
|
+
let(:wmi_cli) { double 'HawatelPS::Windows::WmiCli' }
|
7
|
+
let(:native_wmi_obj) { double 'WIN32OLE'}
|
8
|
+
let(:wmi_object) { double 'HawatelPS::Windows::WmiCli::Instance',
|
9
|
+
:properties => win32_data[:proc_attrs],
|
10
|
+
:wmi_ole_object => native_wmi_obj}
|
11
|
+
let(:user_sid) { prepare_owner_sid_as_struct(win32_data[:users]) }
|
12
|
+
let(:user_struct) { prepare_user_info_as_struct(win32_data[:users]) }
|
13
|
+
let(:system_info_struct) { OpenStruct.new(:properties => {:totalvisiblememorysize => "8388608"})}
|
14
|
+
let(:system_idle_struct) { OpenStruct.new(:properties => {:kernelmodetime => "500592031250"})}
|
15
|
+
|
16
|
+
before do
|
17
|
+
allow(HawatelPS::Windows::WmiCli).to receive(:new).and_return(wmi_cli)
|
18
|
+
win32_data[:proc_attrs][:wmi_object] = native_wmi_obj
|
19
|
+
|
20
|
+
allow(wmi_cli).to receive(:query).with('SELECT * FROM Win32_Process').and_return(Array.new([wmi_object]))
|
21
|
+
allow(wmi_cli).to receive(:query).with('SELECT * FROM Win32_UserAccount').and_return(Array.new([user_struct]))
|
22
|
+
allow(wmi_cli).to receive(:query).with('SELECT * FROM Win32_OperatingSystem').and_return(Array.new([system_info_struct]))
|
23
|
+
allow(wmi_cli).to receive(:query).with("SELECT KernelModeTime FROM Win32_Process WHERE ProcessId = '0'").and_return(Array.new([system_idle_struct]))
|
24
|
+
|
25
|
+
allow(wmi_object).to receive(:execMethod).with('GetAvailableVirtualSize').and_return(
|
26
|
+
OpenStruct.new(:AvailableVirtualSize => win32_data[:proc_attrs][:availablevirtualsize]))
|
27
|
+
end
|
28
|
+
|
29
|
+
it '#get_process' do
|
30
|
+
allow(wmi_object).to receive(:execMethod).with('GetOwnerSid').and_return(user_sid)
|
31
|
+
|
32
|
+
proc_table = HawatelPS::Windows::ProcFetch.get_process
|
33
|
+
|
34
|
+
expect(proc_table[0]).to eq(win32_data[:proc_attrs])
|
35
|
+
end
|
36
|
+
|
37
|
+
it '#get_owner_sid raise error' do
|
38
|
+
allow(wmi_object).to receive(:execMethod).with('GetOwnerSid').and_raise(HawatelPS::Windows::WmiCliException)
|
39
|
+
proc_table = HawatelPS::Windows::ProcFetch.get_process
|
40
|
+
expect(proc_table[0][:sid]).to be_nil
|
41
|
+
end
|
42
|
+
|
43
|
+
it '#get_avail_virtual_size raise error' do
|
44
|
+
allow(wmi_object).to receive(:execMethod).with('GetOwnerSid').and_return(user_sid)
|
45
|
+
allow(wmi_object).to receive(:execMethod).with('GetAvailableVirtualSize').and_raise(HawatelPS::Windows::WmiCliException)
|
46
|
+
proc_table = HawatelPS::Windows::ProcFetch.get_process
|
47
|
+
expect(proc_table[0][:availablevirtualsize]).to be_nil
|
48
|
+
end
|
49
|
+
|
50
|
+
it '#cpu_percent return 0' do
|
51
|
+
allow(wmi_object).to receive(:execMethod).with('GetOwnerSid').and_return(user_sid)
|
52
|
+
allow(HawatelPS::Windows::ProcFetch).to receive(:cpu_time).and_return(0)
|
53
|
+
|
54
|
+
proc_table = HawatelPS::Windows::ProcFetch.get_process
|
55
|
+
|
56
|
+
expect(proc_table[0][:cpupercent]).to eq("0.0")
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
def prepare_user_info_as_struct(user_info)
|
64
|
+
user_struct = OpenStruct.new
|
65
|
+
user_struct.properties = user_info
|
66
|
+
return user_struct
|
67
|
+
end
|
68
|
+
|
69
|
+
def prepare_owner_sid_as_struct(user_info)
|
70
|
+
sid_struct = OpenStruct.new
|
71
|
+
sid_struct.Sid = user_info[:sid]
|
72
|
+
return sid_struct
|
73
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe HawatelPS::Windows::ProcTable do
|
4
|
+
let(:win32_data) { FactoryGirl.build(:win32_data) }
|
5
|
+
|
6
|
+
before do
|
7
|
+
allow(HawatelPS::Windows::ProcFetch).to receive(:get_process).and_return(Array.new([win32_data[:proc_attrs]]))
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
it "return all process instances" do
|
12
|
+
process = HawatelPS::Windows::ProcTable.proc_table
|
13
|
+
expect(process[0].processid).to match(/^[0-9]+$/)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "return proc attributes" do
|
17
|
+
process = HawatelPS::Windows::ProcTable.proc_table
|
18
|
+
expect(process[0].each).to be_a(Enumerator)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "search process by name" do
|
22
|
+
process = HawatelPS::Windows::ProcTable.search_by_name('rubymine.exe')
|
23
|
+
expect(process[0].processid).to match(/^[0-9]+$/)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "search process by name using regex" do
|
27
|
+
process = HawatelPS::Windows::ProcTable.search_by_name('/^ruby/')
|
28
|
+
expect(process[0].processid).to match(/^[0-9]*$/)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "search process by name using regex with raise error" do
|
32
|
+
process = HawatelPS::Windows::ProcTable.search_by_name('/^jasdfsdfva/')
|
33
|
+
expect { process[0].pid }.to raise_error(NoMethodError)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "search process by pid" do
|
37
|
+
process = HawatelPS::Windows::ProcTable.search_by_pid(9336)
|
38
|
+
expect(process.processid).to eq('9336')
|
39
|
+
end
|
40
|
+
|
41
|
+
it "search process by condition == " do
|
42
|
+
process = HawatelPS::Windows::ProcTable.search_by_condition(:attr => 'processid', :oper => '==', :value => '9336')
|
43
|
+
expect(process[0].processid).to eq('9336')
|
44
|
+
end
|
45
|
+
|
46
|
+
it "search process by condition <= " do
|
47
|
+
process = HawatelPS::Windows::ProcTable.search_by_condition(:attr => 'workingsetsize', :oper => '<=', :value => '437301248')
|
48
|
+
expect(process[0].processid).to match(/^[0-9]*$/)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "search process by condition >= " do
|
52
|
+
process = HawatelPS::Windows::ProcTable.search_by_condition(:attr => 'workingsetsize', :oper => '>=', :value => '200000')
|
53
|
+
expect(process[0].processid).to match(/^[0-9]*$/)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "search process by condition != " do
|
57
|
+
process = HawatelPS::Windows::ProcTable.search_by_condition(:attr => 'workingsetsize', :oper => '!=', :value => '200000')
|
58
|
+
expect(process[0].processid).to match(/^[0-9]*$/)
|
59
|
+
end
|
60
|
+
|
61
|
+
it "search process by condition > " do
|
62
|
+
process = HawatelPS::Windows::ProcTable.search_by_condition(:attr => 'workingsetsize', :oper => '>', :value => '200000')
|
63
|
+
expect(process[0].processid).to match(/^[0-9]*$/)
|
64
|
+
end
|
65
|
+
|
66
|
+
it "search process by condition < " do
|
67
|
+
process = HawatelPS::Windows::ProcTable.search_by_condition(:attr => 'workingsetsize', :oper => '<', :value => '537301248')
|
68
|
+
expect(process[0].processid).to match(/^[0-9]*$/)
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'ostruct'
|
3
|
+
|
4
|
+
describe HawatelPS::Windows::WmiCli do
|
5
|
+
let(:win32_data) { FactoryGirl.build(:win32_data) }
|
6
|
+
let(:wmi_ole) { double 'WIN32OLE', :properties_ => Array.new([OpenStruct.new(:name => 'name', :value => 'rubymine')])}
|
7
|
+
let(:instance) { double 'HawatelPS::Windows::WmiCli::Instance' }
|
8
|
+
|
9
|
+
before do
|
10
|
+
allow(WIN32OLE).to receive(:new).with('WbemScripting.SWbemLocator').and_return(wmi_ole)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'query results success' do
|
14
|
+
allow_connect_server
|
15
|
+
allow(wmi_ole).to receive(:execMethod_).with('GetOwner')
|
16
|
+
.and_return(OpenStruct.new(:User => 'asmith', :Domain => 'test'))
|
17
|
+
|
18
|
+
obj = HawatelPS::Windows::WmiCli.new.query('SELECT * FROM Win32_Process')[0]
|
19
|
+
expect(obj.class).to eq(HawatelPS::Windows::WmiCli::Instance)
|
20
|
+
expect(obj.wmi_ole_object).to eq(wmi_ole)
|
21
|
+
expect(obj.properties[:name]).to eq('rubymine')
|
22
|
+
|
23
|
+
owner = obj.execMethod('GetOwner')
|
24
|
+
expect(owner.User).to eq('asmith')
|
25
|
+
expect(owner.Domain).to eq('test')
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'query raise exception' do
|
29
|
+
allow(wmi_ole).to receive(:ConnectServer).and_return(wmi_ole)
|
30
|
+
allow(wmi_ole).to receive(:ExecQuery).with('SELECT * FROM Win32_ERROR').and_raise(WIN32OLERuntimeError)
|
31
|
+
|
32
|
+
expect{HawatelPS::Windows::WmiCli.new.query('SELECT * FROM Win32_ERROR')}
|
33
|
+
.to raise_error(HawatelPS::Windows::WmiCliException)
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'ConnectServer raise exception' do
|
37
|
+
allow(wmi_ole).to receive(:ConnectServer).and_raise(WIN32OLERuntimeError)
|
38
|
+
|
39
|
+
expect{HawatelPS::Windows::WmiCli.new.query('SELECT * FROM Win32_Process')}
|
40
|
+
.to raise_error(HawatelPS::Windows::WmiCliException)
|
41
|
+
end
|
42
|
+
|
43
|
+
it '#execMethod raise exception' do
|
44
|
+
allow_connect_server
|
45
|
+
allow(wmi_ole).to receive(:execMethod_).with('GetOwner').and_raise(WIN32OLERuntimeError)
|
46
|
+
|
47
|
+
obj = HawatelPS::Windows::WmiCli.new.query('SELECT * FROM Win32_Process')[0]
|
48
|
+
expect { obj.execMethod('GetOwner') }.to raise_error(HawatelPS::Windows::WmiCliException)
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
def allow_connect_server
|
54
|
+
allow(wmi_ole).to receive(:ExecQuery).with('SELECT * FROM Win32_Process').and_return(Array.new([wmi_ole]))
|
55
|
+
allow(wmi_ole).to receive(:ConnectServer).and_return(wmi_ole)
|
56
|
+
allow(wmi_ole).to receive(:ole_respond_to?).and_return(true)
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
metadata
ADDED
@@ -0,0 +1,181 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hawatel_ps
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Przemyslaw Mantaj
|
8
|
+
- Daniel Iwaniuk
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2016-03-15 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: factory_girl
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: bundler
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '1.10'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '1.10'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '10.0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '10.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rspec
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
description: |-
|
71
|
+
HawatelPS (hawatel_ps) is a Ruby gem for retrieving information about running processes. It is easy to use and you can get useful information about a process.
|
72
|
+
You can terminate, suspend, resume and check status of the process on Linxu platform. On Windows platform you can terminate and check state of the process.
|
73
|
+
email:
|
74
|
+
- przemyslaw.mantaj@hawatel.com
|
75
|
+
- daniel.iwaniuk@hawatel.com
|
76
|
+
executables: []
|
77
|
+
extensions: []
|
78
|
+
extra_rdoc_files: []
|
79
|
+
files:
|
80
|
+
- ".gitignore"
|
81
|
+
- ".rspec"
|
82
|
+
- ".travis.yml"
|
83
|
+
- ".yardopts"
|
84
|
+
- CONTRIBUTING.md
|
85
|
+
- Gemfile
|
86
|
+
- LICENSE.txt
|
87
|
+
- README.md
|
88
|
+
- Rakefile
|
89
|
+
- hawatel_ps.gemspec
|
90
|
+
- lib/hawatel_ps.rb
|
91
|
+
- lib/hawatel_ps/linux.rb
|
92
|
+
- lib/hawatel_ps/linux/proc_control.rb
|
93
|
+
- lib/hawatel_ps/linux/proc_fetch.rb
|
94
|
+
- lib/hawatel_ps/linux/proc_info.rb
|
95
|
+
- lib/hawatel_ps/linux/proc_table.rb
|
96
|
+
- lib/hawatel_ps/shared/hawatelps_exception.rb
|
97
|
+
- lib/hawatel_ps/version.rb
|
98
|
+
- lib/hawatel_ps/windows.rb
|
99
|
+
- lib/hawatel_ps/windows/proc_control.rb
|
100
|
+
- lib/hawatel_ps/windows/proc_fetch.rb
|
101
|
+
- lib/hawatel_ps/windows/proc_info.rb
|
102
|
+
- lib/hawatel_ps/windows/proc_table.rb
|
103
|
+
- lib/hawatel_ps/windows/wmi/wmi_cli.rb
|
104
|
+
- lib/hawatel_ps/windows/wmi/wmi_exception.rb
|
105
|
+
- lib/hawatel_ps/windows/wmi/wmi_instance.rb
|
106
|
+
- spec/hawatel_ps_spec.rb
|
107
|
+
- spec/linux/bdd/proc_spec.rb
|
108
|
+
- spec/linux/factories/etc/passwd
|
109
|
+
- spec/linux/factories/proc/1761/cmdline
|
110
|
+
- spec/linux/factories/proc/1761/environ
|
111
|
+
- spec/linux/factories/proc/1761/io
|
112
|
+
- spec/linux/factories/proc/1761/limits
|
113
|
+
- spec/linux/factories/proc/1761/stat
|
114
|
+
- spec/linux/factories/proc/1761/status
|
115
|
+
- spec/linux/factories/proc/meminfo
|
116
|
+
- spec/linux/factories/proc/net/tcp
|
117
|
+
- spec/linux/factories/proc/net/udp
|
118
|
+
- spec/linux/factories/proc/uptime
|
119
|
+
- spec/linux/support/stub_dir.rb
|
120
|
+
- spec/linux/support/stub_file.rb
|
121
|
+
- spec/linux/tdd/proc_fetch_spec.rb
|
122
|
+
- spec/linux/tdd/proc_table_spec.rb
|
123
|
+
- spec/shared/hawatelps_exception_spec.rb
|
124
|
+
- spec/spec_helper.rb
|
125
|
+
- spec/windows/bdd/proc_spec.rb
|
126
|
+
- spec/windows/factories/proc_fetch_factorie.rb
|
127
|
+
- spec/windows/tdd/proc_control_spec.rb
|
128
|
+
- spec/windows/tdd/proc_fetch_spec.rb
|
129
|
+
- spec/windows/tdd/proc_table_spec.rb
|
130
|
+
- spec/windows/tdd/wmi_spec.rb
|
131
|
+
homepage: http://github.com/hawatel/hawatel_ps
|
132
|
+
licenses:
|
133
|
+
- MIT
|
134
|
+
metadata: {}
|
135
|
+
post_install_message:
|
136
|
+
rdoc_options: []
|
137
|
+
require_paths:
|
138
|
+
- lib
|
139
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '1.9'
|
144
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - ">="
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '0'
|
149
|
+
requirements: []
|
150
|
+
rubyforge_project:
|
151
|
+
rubygems_version: 2.4.5.1
|
152
|
+
signing_key:
|
153
|
+
specification_version: 4
|
154
|
+
summary: Ruby gem for retrieving information about running processes
|
155
|
+
test_files:
|
156
|
+
- spec/hawatel_ps_spec.rb
|
157
|
+
- spec/linux/bdd/proc_spec.rb
|
158
|
+
- spec/linux/factories/etc/passwd
|
159
|
+
- spec/linux/factories/proc/1761/cmdline
|
160
|
+
- spec/linux/factories/proc/1761/environ
|
161
|
+
- spec/linux/factories/proc/1761/io
|
162
|
+
- spec/linux/factories/proc/1761/limits
|
163
|
+
- spec/linux/factories/proc/1761/stat
|
164
|
+
- spec/linux/factories/proc/1761/status
|
165
|
+
- spec/linux/factories/proc/meminfo
|
166
|
+
- spec/linux/factories/proc/net/tcp
|
167
|
+
- spec/linux/factories/proc/net/udp
|
168
|
+
- spec/linux/factories/proc/uptime
|
169
|
+
- spec/linux/support/stub_dir.rb
|
170
|
+
- spec/linux/support/stub_file.rb
|
171
|
+
- spec/linux/tdd/proc_fetch_spec.rb
|
172
|
+
- spec/linux/tdd/proc_table_spec.rb
|
173
|
+
- spec/shared/hawatelps_exception_spec.rb
|
174
|
+
- spec/spec_helper.rb
|
175
|
+
- spec/windows/bdd/proc_spec.rb
|
176
|
+
- spec/windows/factories/proc_fetch_factorie.rb
|
177
|
+
- spec/windows/tdd/proc_control_spec.rb
|
178
|
+
- spec/windows/tdd/proc_fetch_spec.rb
|
179
|
+
- spec/windows/tdd/proc_table_spec.rb
|
180
|
+
- spec/windows/tdd/wmi_spec.rb
|
181
|
+
has_rdoc:
|