Sha256: 47583a603d15f52334cf99c0ccb65fc51581f0f737e3548cf31ff7b5818afbc5

Contents?: true

Size: 570 Bytes

Versions: 1

Compression:

Stored size: 570 Bytes

Contents

module LinuxAdmin
  module Common
    def self.run(cmd, options = {})
      begin
        r, w = IO.pipe
        pid, status = Process.wait2(Kernel.spawn(cmd, :err => [:child, :out], :out => w))
        w.close
        if options[:return_output] && status.exitstatus == 0
          r.read
        elsif options[:return_exitstatus] || status.exitstatus == 0
          status.exitstatus
        else
          raise "Error: Exit Code #{status.exitstatus}"
        end
      rescue
        return nil if options[:return_exitstatus]
        raise
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
linux_admin-0.0.1 lib/linux_admin/common.rb