Class: BSDInit
- Inherits:
-
ServiceManager
- Object
- ServiceManager
- BSDInit
- Defined in:
- lib/resources/service.rb
Overview
Instance Attribute Summary
Attributes inherited from ServiceManager
Instance Method Summary collapse
- #info(service_name) ⇒ Object
-
#initialize(service_name, service_ctl = nil) ⇒ BSDInit
constructor
A new instance of BSDInit.
Constructor Details
#initialize(service_name, service_ctl = nil) ⇒ BSDInit
Returns a new instance of BSDInit.
312 313 314 315 |
# File 'lib/resources/service.rb', line 312 def initialize(service_name, service_ctl = nil) @service_ctl ||= 'service' super end |
Instance Method Details
#info(service_name) ⇒ Object
317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 |
# File 'lib/resources/service.rb', line 317 def info(service_name) # check if service is enabled # services are enabled in /etc/rc.conf and /etc/defaults/rc.conf # via #{service_name}_enable="YES" # service SERVICE status returns the following result if not activated: # Cannot 'status' sshd. Set sshd_enable to YES in /etc/rc.conf or use 'onestatus' instead of 'status'. # gather all enabled services cmd = inspec.command("#{service_ctl} -e") return nil if cmd.exit_status != 0 # search for the service srv = /(^.*#{service_name}$)/.match(cmd.stdout) return nil if srv.nil? || srv[0].nil? enabled = true # check if the service is running # if the service is not available or not running, we always get an error code cmd = inspec.command("#{service_ctl} #{service_name} onestatus") running = cmd.exit_status == 0 { name: service_name, description: nil, installed: true, running: running, enabled: enabled, type: 'bsd-init', } end |