class LaunchCtl
def info(service_name)
def info(service_name) # get the status of upstart service cmd = inspec.command("#{service_ctl} list") 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? # extract values from service parsed_srv = /^(?<pid>[0-9-]+)\t(?<exit>[0-9]+)\t(?<name>\S*)$/.match(srv[0]) enabled = !parsed_srv['name'].nil? # it's in the list # check if the service is running pid = parsed_srv['pid'] running = pid != '-' # extract service label srv = parsed_srv['name'] || service_name { name: srv, description: nil, installed: true, running: running, enabled: enabled, type: 'darwin', } end