summaryrefslogtreecommitdiff
path: root/lib/system_check/init_helpers.rb
blob: 2573f06b716dcf31b183864348726c76862840c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# frozen_string_literal: true

require 'open3'

module SystemCheck
  module InitHelpers
    # Return the Wants= of a unit, empty if the unit doesn't exist
    def systemd_get_wants(unitname)
      stdout, _stderr, status = Open3.capture3("systemctl", "--no-pager", "show", unitname)

      unless status
        return []
      end

      wantsline = stdout.lines.find { |line| line.start_with?("Wants=") }

      unless wantsline
        return []
      end

      wantsline.delete_prefix("Wants=").strip.split
    end
  end
end