class ChildProcess::Windows::Process::Job
Public Class Methods
new()
click to toggle source
# File lib/childprocess/windows/process.rb, line 94 def initialize @pointer = Lib.create_job_object(nil, nil) if @pointer.nil? || @pointer.null? raise Error, "unable to create job object" end basic = JobObjectBasicLimitInformation.new basic[:LimitFlags] = JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE extended = JobObjectExtendedLimitInformation.new extended[:BasicLimitInformation] = basic ret = Lib.set_information_job_object( @pointer, JOB_OBJECT_EXTENDED_LIMIT_INFORMATION, extended, extended.size ) Lib.check_error ret end
Public Instance Methods
<<(handle)
click to toggle source
# File lib/childprocess/windows/process.rb, line 117 def <<(handle) Lib.check_error Lib.assign_process_to_job_object(@pointer, handle.pointer) end
close()
click to toggle source
# File lib/childprocess/windows/process.rb, line 121 def close Lib.close_handle @pointer end