Module: Utils::Service

Defined in:
utils/service.rb

Overview

Helpers for brew services related code.

Class Method Summary collapse

Class Method Details

.installed?(formula) ⇒ Boolean

Check if a service file is installed in the expected location.

Parameters:

Returns:

  • (Boolean)


19
20
21
22
# File 'utils/service.rb', line 19

def self.installed?(formula)
  (launchctl? && formula.launchd_service_path.exist?) ||
    (systemctl? && formula.systemd_service_path.exist?)
end

.launchctlPathname?

Path to launchctl binary.

Returns:



26
27
28
29
30
31
# File 'utils/service.rb', line 26

def self.launchctl
  return @launchctl if defined? @launchctl
  return if ENV["HOMEBREW_TEST_GENERIC_OS"]

  @launchctl = which("launchctl")
end

.launchctl?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'utils/service.rb', line 43

def self.launchctl?
  !launchctl.nil?
end

.running?(formula) ⇒ Boolean

Check if a service is running for a specified formula.

Parameters:

Returns:

  • (Boolean)


9
10
11
12
13
14
15
# File 'utils/service.rb', line 9

def self.running?(formula)
  if launchctl?
    quiet_system(launchctl, "list", formula.plist_name)
  elsif systemctl?
    quiet_system(systemctl, "is-active", "--quiet", formula.service_name)
  end
end

.systemctlPathname?

Path to systemctl binary.

Returns:



35
36
37
38
39
40
# File 'utils/service.rb', line 35

def self.systemctl
  return @systemctl if defined? @systemctl
  return if ENV["HOMEBREW_TEST_GENERIC_OS"]

  @systemctl = which("systemctl")
end

.systemctl?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'utils/service.rb', line 48

def self.systemctl?
  !systemctl.nil?
end