Sha256: 3e1ce5113572a48cc3bf26df6a741a27c527fdc1c2d9b65dfd5b90085e58ccde

Contents?: true

Size: 882 Bytes

Versions: 6

Compression:

Stored size: 882 Bytes

Contents

module LinuxAdmin
  class SysVInitService < Service
    def running?
      run(cmd(:service),
          :params => { nil => [name, "status"] }).exit_status == 0
    end

    def enable
      run!(cmd(:chkconfig),
          :params => { nil => [name, "on"] })
      self
    end

    def disable
      run!(cmd(:chkconfig),
          :params => { nil => [name, "off"] })
      self
    end

    def start
      run!(cmd(:service),
          :params => { nil => [name, "start"] })
      self
    end

    def stop
      run!(cmd(:service),
          :params => { nil => [name, "stop"] })
      self
    end

    def restart
      status =
        run(cmd(:service),
          :params => { nil => [name, "restart"] }).exit_status

      # attempt to manually stop/start if restart fails
      if status != 0
        self.stop
        self.start
      end

      self
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
linux_admin-0.14.0 lib/linux_admin/service/sys_v_init_service.rb
linux_admin-0.13.0 lib/linux_admin/service/sys_v_init_service.rb
linux_admin-0.12.1 lib/linux_admin/service/sys_v_init_service.rb
linux_admin-0.12.0 lib/linux_admin/service/sys_v_init_service.rb
linux_admin-0.11.1 lib/linux_admin/service/sys_v_init_service.rb
linux_admin-0.11.0 lib/linux_admin/service/sys_v_init_service.rb