Модуль: Utils::Service Приватный
- Определён в:
- utils/service.rb
Обзор
Этот модуль является частью приватного API. Этот модуль можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.
Вспомогательные средства для кода, связанного с brew services.
Краткое описание методов класса свернуть
- .installed?(formula) ⇒ Boolean приватный
Проверяет, установлен ли файл службы в ожидаемом расположении.
- .launchctl ⇒ Pathname? приватный
Путь к исполняемому файлу launchctl.
- .launchctl? ⇒ Boolean приватный
- .running?(formula) ⇒ Boolean приватный
Проверяет, запущена ли служба для указанной формулы.
- .systemctl ⇒ Pathname? приватный
Путь к исполняемому файлу systemctl.
- .systemctl? ⇒ Boolean приватный
- .systemd_quote(str) ⇒ String приватный
Заключает строку в кавычки для использования в командных строках systemd, например в
ExecStart.
Подробное описание методов класса
.installed?(formula) ⇒ Boolean
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Проверяет, установлен ли файл службы в ожидаемом расположении.
21 22 23 24 | # File 'utils/service.rb', line 21 def self.installed?(formula) (launchctl? && formula.launchd_service_path.exist?) || (systemctl? && formula.systemd_service_path.exist?) end |
.launchctl ⇒ Pathname?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Путь к исполняемому файлу launchctl.
28 29 30 31 32 33 | # File 'utils/service.rb', line 28 def self.launchctl return @launchctl if defined? @launchctl return if ENV["HOMEBREW_TEST_GENERIC_OS"] @launchctl = T.let(which("launchctl"), T.nilable(Pathname)) end |
.launchctl? ⇒ Boolean
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
45 46 47 | # File 'utils/service.rb', line 45 def self.launchctl? !launchctl.nil? end |
.running?(formula) ⇒ Boolean
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Проверяет, запущена ли служба для указанной формулы.
9 10 11 12 13 14 15 16 17 | # 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) else false end end |
.systemctl ⇒ Pathname?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Путь к исполняемому файлу systemctl.
37 38 39 40 41 42 | # File 'utils/service.rb', line 37 def self.systemctl return @systemctl if defined? @systemctl return if ENV["HOMEBREW_TEST_GENERIC_OS"] @systemctl = T.let(which("systemctl"), T.nilable(Pathname)) end |
.systemctl? ⇒ Boolean
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
50 51 52 | # File 'utils/service.rb', line 50 def self.systemctl? !systemctl.nil? end |
.systemd_quote(str) ⇒ String
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Заключает строку в кавычки для использования в командных строках systemd, например в ExecStart. https://www.freedesktop.org/software/systemd/man/latest/systemd.syntax.html#Quoting
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | # File 'utils/service.rb', line 57 def self.systemd_quote(str) result = +"\"" # No need to escape single quotes and spaces, as we're always double # quoting the entire string. str.each_char do |char| result << case char when "\a" then "\\a" when "\b" then "\\b" when "\f" then "\\f" when "\n" then "\\n" when "\r" then "\\r" when "\t" then "\\t" when "\v" then "\\v" when "\\" then "\\\\" when "\"" then "\\\"" else char end end result << "\"" result.freeze end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Utils/Service.html