class Specinfra::Command::Windows::Base::Process
Public Class Methods
check_process(process)
click to toggle source
# File lib/specinfra/command/windows/base/process.rb, line 3 def check_process(process) Backend::PowerShell::Command.new do exec "(Get-Process '#{process}') -ne $null" end end
get(process, opts)
click to toggle source
# File lib/specinfra/command/windows/base/process.rb, line 9 def get(process, opts) column = opts[:format].chomp '=' case column when 'pid' # map 'pid' to its windows equivalent get_process_property(process, 'processid') when 'user' %Q!gwmi win32_process -filter "name = '#{process}'" | select -first 1 | %{$_.getowner().user}! when 'group' # no concept of process group on Windows raise NotImplementedError.new('Unable to get process group on Windows') else get_process_property(process, column) end end
Private Class Methods
get_process_property(process, property)
click to toggle source
# File lib/specinfra/command/windows/base/process.rb, line 27 def get_process_property(process, property) %Q!Get-WmiObject Win32_Process -Filter "name = '#{process}'" | select -First 1 #{property} -ExpandProperty #{property}! end