Sha256: 6b0a997721563fd5729b4305840a4a5b478ddb6bfa93a1dd5896e4ac9ff960c1

Contents?: true

Size: 695 Bytes

Versions: 3

Compression:

Stored size: 695 Bytes

Contents

module Phantom
  class Base
    attr_reader :pid, :status

    def initialize(pid)
      @pid = pid
    end
    
    def kill(signal)
      Process.kill(signal, @pid) if @pid
    end
    
    def sid
      @sid ||= Process.getsid(@pid)
    end
    
    def gid
      @gid ||= Process.getpgid(@pid)
    end
    
    def user_priority
      @user_priority ||= Process.getpriority(Process::PRIO_USER, @pid)
    end
    
    def group_priority
      @group_priority ||= Process.getpriority(Process::PRIO_PGRP, @pid)
    end
    
    def process_priority
      @process_priority ||= Process.getpriority(Process::PRIO_PROCESS, @pid)
    end
    
    def abort
      kill(:TERM)
    end
    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
phantom-0.0.3.pre lib/phantom/base.rb
phantom-0.0.2.pre lib/phantom/base.rb
phantom-0.0.1 lib/phantom/base.rb