Spec-Zone.ru › Hammerspoon

hs.host

Просмотр информации о компьютере, на котором запущен Hammerspoon

Примечания:

  • Вызовы сети/имени хоста могут быть медленными, так как могут вызываться вызовы разрешения сети, которые являются синхронными и заблокируют Hammerspoon, пока они не завершатся.

Подмодули

  • hs.host.locale

Обзор API

  • Функции — API-вызовы, предлагаемые непосредственно расширением
    • addresses
    • cpuUsage
    • cpuUsageTicks
    • globallyUniqueString
    • gpuVRAM
    • idleTime
    • interfaceStyle
    • localizedName
    • names
    • operatingSystemVersion
    • operatingSystemVersionString
    • thermalState
    • uuid
    • vmStat
    • volumeInformation

Документация API

Функции

addresses
Подпись hs.host.addresses() -> table
Тип Функция
Описание

Получает список сетевых адресов текущего компьютера

Параметры
  • Нет
Возвращает
  • Таблица строк, содержащих сетевые адреса текущего компьютера
Примечания
  • Результаты будут включать адреса IPv4 и IPv6
Источник extensions/host/libhost.m строка 12
cpuUsage
Подпись hs.host.cpuUsage([period], [callback]) -> table
Тип Функция
Описание

Запрос статистики использования ЦП для заданного интервала времени с помощью hs.host.cpuUsageTicks и возврат результатов в процентах.

Параметры
  • period — необязательное значение, определяющее время между образцами, собранными для расчета статистики использования ЦП.
    • Если callback не указано, это необязательное целое число, по умолчанию 100000, определяющее количество микросекунд блокировки между образцами, собранными. Обратите внимание, что Hammerspoon заблокируется на этот период времени во время выполнения этой функции.
    • Если callback указано, это необязательное число, по умолчанию 1,0, определяющее количество секунд между образцами, собранными. Hammerspoon не будет заблокирован в течение этого периода.
  • callback — необязательная функция обратного вызова, которая получит статистику использования ЦП в таблице, описанной ниже, в качестве единственного аргумента.
Возвращает
  • Если функция обратного вызова не указана, эта функция вернёт таблицу, содержащую следующее:
    • Отдельные таблицы, индексируемые номером ядра, для каждого ядра процессора со следующими ключами в каждой подтаблице:
      • user — процент времени ЦП, занимаемого процессами уровня пользователя.
      • system — процент времени ЦП, занимаемого процессами уровня системы (ядра).
      • nice — процент времени ЦП, занимаемого процессами уровня пользователя с положительным значением nice. (См. примечания ниже)
      • active — для удобства, когда вам нужен только общий процент использования ЦП, это сумма user, system и nice.
      • idle — процент времени ЦП, потраченного в режиме ожидания
    • Ключ overall, содержащий те же ключи, что и выше, но основанные на среднем значении всех ядер.
    • Ключ n, содержащий количество обнаруженных ядер.
  • Если функция обратного вызова указана, эта функция вернёт таблицу-заполнитель со следующими методами мета:
    • hs.host.cpuUsage:finished() — возвращает булево значение, указывающее, был ли второй образец использования ЦП собран (true) или нет (false).
    • hs.host.cpuUsage:stop() — прерывает сбор образцов. Функция обратного вызова не будет вызвана.
    • Результаты статистики использования ЦП будут отправлены в виде таблицы, описанной выше, в функцию обратного вызова.
Примечания
  • Если функция обратного вызова не указана, Hammerspoon заблокируется (т.е. никакая другая активность Hammerspoon не может произойти) во время выполнения этой функции на period микросекунд (1 секунда = 1 000 000 микросекунд). Значение по умолчанию — 1/10 секунды. Если period слишком мало, некоторые статистические данные ЦП могут привести к nan (не число).

  • Для справки, команда top имеет по умолчанию интервал 1 секунда между образцами.

  • Подтаблицы для каждого ядра и overall имеют метод мета __tostring(), который позволяет выводить их содержимое в консоли Hammerspoon, набрав hs.host.cpuUsage()[#], где # — ядро, которое вас интересует, или строку "overall".

Источник extensions/host/host.lua строка 34
cpuUsageTicks
Подпись hs.host.cpuUsageTicks() -> table
Тип Функция
Описание

Возвращает таблицу, содержащую текущую информацию об использовании ЦП для системы в ticks с момента последнего включения.

Параметры
  • Нет
Возвращает
  • Таблица, содержащая следующее:
    • Отдельные таблицы, индексируемые номером ядра, для каждого ядра процессора со следующими ключами в каждой подтаблице:
      • user — количество тактов, которые ядро процессора провело в пользовательском режиме с момента запуска системы.
      • system — количество тактов, которые ядро процессора провело в системном режиме с момента запуска системы.
      • nice
      • active — для удобства, когда вам нужен только общий процент использования ЦП, это сумма user, system и nice.
      • idle — количество тактов, которые ядро процессора провело в режиме ожидания
    • Ключ overall содержащий те же ключи, что и выше, но основанные на суммарном значении всех ядер процессора для системы.
    • Ключ n, содержащий количество обнаруженных ядер.
Примечания
  • Такты режима процессора обновляются во время прерываний системы и увеличиваются в зависимости от режима, в котором находится ЦП во время прерывания. По своей природе это всегда будет приблизительно, и один вызов этой функции вернёт текущие значения тактов с момента последней перезагрузки системы.

  • Чтобы получить снимок использования системы "в данный момент", необходимо получить два образца и вычислить разницу между ними. Функция hs.host.cpuUsage является обёрткой, которая это делает за вас и возвращает статистику использования ЦП в процентах от общего числа тактов, которые произошли в течение периода выборки, который вы указываете при вызове hs.host.cpuUsage.

  • Исторически на системах на основе Unix состояние ЦП nice представляет процессы, для которых приоритет выполнения был снижен, чтобы позволить другим процессам с более высоким приоритетом получить доступ к большему количеству системных ресурсов. Исходный код версии ядра XNU, в настоящее время предоставляемой Apple (для macOS 10.12.3), показывает, что это значение, возвращаемое host_processor_info, жёстко задано в 0. Для полноты, это значение включено в статистику, возвращаемую этой функцией, но, если Apple не внесёт изменений в будущем, оно, вероятно, не будет содержать полезной информации.

  • Адаптировано в основном из кода, найденного на http://stackoverflow.com/questions/6785069/get-cpu-percent-usage

Источник extensions/host/libhost.m строка 193
globallyUniqueString
Подпись hs.host.globallyUniqueString() -> string
Тип Функция
Описание

Возвращает недавно сгенерированный глобальный уникальный идентификатор в виде строки

Параметры
  • Нет
Возвращает
  • недавно сгенерированный глобальный уникальный идентификатор в виде строки
Примечания
  • См. также hs.host.uuid
  • Глобальный уникальный идентификатор процесса включает имя хоста, идентификатор процесса и временную метку, что гарантирует уникальность идентификатора в сети. Эта функция генерирует новую строку каждый раз при вызове и использует счётчик для обеспечения уникальности строк.
  • Это часто используется в качестве имени файла или каталога в сочетании с hs.host.temporaryDirectory() при создании временных файлов.
Источник extensions/host/libhost.m строка 490
gpuVRAM
Подпись hs.host.gpuVRAM() -> table
Тип Функция
Описание

Возвращает модель и размер видеопамяти установленных графических процессоров.

Параметры
  • Нет
Возвращает
  • Таблица, пары ключ-значение которой представляют графические процессоры текущей системы. Каждый ключ — строка, содержащая имя установленного графического процессора, а его значение — размер видеопамяти графического процессора в МБ. Если размер видеопамяти не может быть определён для конкретного графического процессора, его значение будет равно -1,0.
Примечания
  • Если ваш графический процессор сообщает о размере памяти -1,0, пожалуйста, отправьте сообщение в репозиторий Hammerspoon на GitHub и включите любую релевантную информацию, например: модель Macintosh, версия macOS, встроенный или сторонний графический процессор, модель графического процессора и видеопамять по возможности (см. приложение "Сведения о системе" в папке "Утилиты" и посмотрите раздел "Графика/Экран"), и всё остальное, что, по вашему мнению, может быть важным.
Источник extensions/host/libhost.m строка 644
idleTime
Signature hs.host.idleTime() -> seconds
Type Function
Description

Возвращает количество секунд, в течение которых компьютер был в режиме простоя.

Parameters
  • None
Returns
  • время простоя в секундах
Notes
  • Время простоя определяется как отсутствие перемещения мышью или ввода с клавиатуры и т. д. и определяется путем запроса к подсистеме HID (Human Interface Device).
  • Этот код напрямую вдохновлен кодом, найденным на http://www.xs-labs.com/en/archives/articles/iokit-idle-time
Source extensions/host/libhost.m строка 509
interfaceStyle
Signature hs.host.interfaceStyle() -> string
Type Function
Description

Возвращает стиль интерфейса OS X для текущего пользователя.

Parameters
  • None
Returns
  • Строка, представляющая текущий стиль интерфейса пользователя, или nil, если используется стиль по умолчанию.
Notes
  • По состоянию на OS X 10.10.4, помимо стиля по умолчанию, только «Dark» распознается как допустимый стиль.
Source extensions/host/libhost.m строка 454
localizedName
Signature hs.host.localizedName() -> string
Type Function
Description

Получает имя текущей машины, отображаемое в боковой панели Finder.

Parameters
  • None
Returns
  • Строка, содержащая имя текущей машины
Source extensions/host/libhost.m строка 72
names
Signature hs.host.names() -> table
Type Function
Description

Получает список имен сетей для текущей машины.

Parameters
  • None
Returns
  • Таблица строк, содержащих имена сетей текущей машины
Notes
  • Эту функцию следует использовать с осторожностью, так как она может блокировать доступ к сети для разрешения имен хостов.
Source extensions/host/libhost.m строка 42
operatingSystemVersion
Signature hs.host.operatingSystemVersion() -> table
Type Function
Description

Версия операционной системы в виде таблицы с основными, второстепенными и дополнительными номерами.

Parameters
  • None
Returns
  • Версия операционной системы в виде таблицы, содержащей ключи major, minor и patch, соответствующие номеру версии, определенному, и ключ, названный «exact» или «approximation», в зависимости от метода определения информации о версии ОС.
Notes
  • До версии 10.10 (Yosemite) не было надежного способа получить точный номер версии OS X, не отобразив его в версию ядра Darwin, не отобразив его в AppKitVersionNumber (рекомендуемый метод) или не разобрав результат селектора operatingSystemVersionString NSProcessingInfo, что Apple заявляет, не гарантирует надежного разбора.
    • для версий OS X до 10.10 номер версии приблизительно определяется путем оценки AppKitVersionNumber. Для этих операционных систем определяется и устанавливается ключ approximate, так как точный номер патча определить окончательно невозможно.
    • для версий OS X, начиная с 10.10 и далее, точное значение номера версии можно определить с помощью селектора operatingSystemVersion NSProcessingInfo, и ключ exact определяется и устанавливается в значение true, если этот метод используется.
Source extensions/host/libhost.m строка 342
operatingSystemVersionString
Signature hs.host.operatingSystemVersionString() -> string
Type Function
Description

Версия операционной системы в виде читаемой строкой для человека.

Parameters
  • None
Returns
  • Версия операционной системы в виде читаемой строкой для человека.
Notes
  • Согласно документации разработчика OS X, «строка версии операционной системы читабельна для человека, локализована и подходит для отображения пользователю. Эта строка не подходит для разбора».
Source extensions/host/libhost.m строка 282
thermalState
Signature hs.host.thermalState() -> string
Type Function
Description

Текущее тепловое состояние компьютера в виде читаемой строкой для человека.

Parameters
  • None
Returns
  • Тепловое состояние системы в виде читаемой строкой для человека.
Source extensions/host/libhost.m строка 300
uuid
Signature hs.host.uuid() -> string
Type Function
Description

Возвращает недавно сгенерированный UUID в виде строки.

Parameters
  • None
Returns
  • недавно сгенерированный UUID в виде строки
Notes
  • См. также hs.host.globallyUniqueString
  • UUID (Universally Unique Identifiers), также известные как GUID (Globally Unique Identifiers) или IID (Interface Identifiers), представляют собой 128-битные значения. UUID, созданные NSUUID, соответствуют RFC 4122 версии 4 и создаются с использованием случайных байтов.
Source extensions/host/libhost.m строка 471
vmStat
Signature hs.host.vmStat() -> table
Type Function
Description

Возвращает таблицу, содержащую статистику виртуальной памяти для текущей машины, а также размер страницы (в байтах) и физический размер памяти (в байтах).

Parameters
  • None
Returns
  • Таблица, содержащая следующие ключи:
    • anonymousPages — общее количество страниц, которые являются анонимными
    • cacheHits — количество попаданий в кэш объектов
    • cacheLookups — количество обращений к кэшу объектов
    • fileBackedPages — общее количество страниц, которые являются файловыми (не подкачка)
    • memSize — физический размер памяти в байтах
    • pageIns — общее количество запросов на страницы из кэша (например, кэш inode).
    • pageOuts — общее количество страниц, которые были выгружены.
    • pageSize — размер страницы в байтах
    • pagesActive — общее количество страниц, которые в данный момент используются и могут быть подкачены.
    • pagesCompressed — общее количество страниц, которые были сжаты сжатием VM.
    • pagesCopyOnWrite — количество ошибок, которые привели к копированию страницы (обычно вызывается ошибками копирования при записи).
    • pagesDecompressed — общее количество страниц, которые были распакованы сжатием VM.
    • pagesFree — общее количество свободных страниц в системе.
    • pagesInactive — общее количество страниц в списке неактивных.
    • pagesPurgeable — общее количество удаляемых страниц.
    • pagesPurged — общее количество страниц, которые были удалены.
    • pagesReactivated — общее количество страниц, которые были перемещены из списка неактивных в список активных (восстановлены).
    • pagesSpeculative — общее количество страниц в списке прогнозируемых.
    • pagesThrottled — общее количество страниц в списке с ограниченной скоростью (не привязанные, но не подкачиваемые).
    • pagesUsedByVMCompressor — количество страниц, используемых для хранения сжатых страниц VM.
    • pagesWiredDown — общее количество страниц, закрепленных за диском. То есть страницы, которые не могут быть выгружены.
    • pagesZeroFilled — общее количество страниц, которые были заполнены нулями по требованию.
    • swapIns — общее количество сжатых страниц, которые были помещены на диск.
    • swapOuts — общее количество сжатых страниц, которые были возвращены с диска.
    • translationFaults — количество вызовов функции "vm_fault".
    • uncompressedPages — общее количество страниц (не сжатых) в кэше сжатия.
Notes
  • Возвращаемая таблица имеет метаметод __tostring(), который позволяет перечислить ее содержимое в консоли Hammerspoon, набрав hs.host.vmStats().
  • За исключением добавления cacheHits, cacheLookups, pageSize и memSize, результаты этой функции должны быть идентичны команде OS X vm_stat.
  • При адаптации использовался преимущественно исходный код команды vm_stat Apple, расположенный по адресу http://www.opensource.apple.com/source/system_cmds/system_cmds-643.1.1/vm_stat.tproj/vm_stat.c
Source extensions/host/libhost.m строка 86
END_OF_DOCUMENT_MARKER
volumeInformation
Подпись hs.host.volumeInformation([showHidden]) -> table
Тип Функция
Описание

Возвращает таблицу информации о подключенных к системе томах диска.

Параметры
  • showHidden — необязательный булевый параметр, true для отображения скрытых томов, false — для их скрытия. По умолчанию false.
Возвращаемое значение
  • Таблица информации, где ключи — пути дисков.
Примечания
  • Возможные ключи в таблице:
  • NSURLVolumeTotalCapacityKey — размер тома в байтах
  • NSURLVolumeAvailableCapacityKey — доступное пространство на томе в байтах
  • NSURLVolumeIsAutomountedKey — булево значение, указывающее, был ли том автоматически смонтирован
  • NSURLVolumeIsBrowsableKey — булево значение, указывающее, можно ли просматривать том
  • NSURLVolumeIsEjectableKey — булево значение, указывающее, следует ли извлечь том перед удалением носителя
  • NSURLVolumeIsInternalKey — булево значение, указывающее, является ли том внутренним или внешним накопителем
  • NSURLVolumeIsLocalKey — булево значение, указывающее, является ли том локальным или удалённым
  • NSURLVolumeIsReadOnlyKey — булево значение, указывающее, является ли том только для чтения
  • NSURLVolumeIsRemovableKey — булево значение, указывающее, можно ли физически извлечь носитель тома из устройства (например, DVD)
  • NSURLVolumeMaximumFileSizeKey — максимальный размер файла, который может поддерживать том, в байтах
  • NSURLVolumeUUIDStringKey — UUID файловой системы тома
  • NSURLVolumeURLForRemountingKey — для удалённых томов, сетевой URL тома
  • NSURLVolumeLocalizedNameKey — локализованное имя тома
  • NSURLVolumeNameKey — имя тома
  • NSURLVolumeLocalizedFormatDescriptionKey — локализованное описание тома
  • Не все ключи будут присутствовать для всех томов
  • Значения NSURLVolumeIsEjectableKey и NSURLVolumeIsRemovableKey не всегда полезны для определения того, является ли устройство съемным в современном понимании (например, USB-накопитель), так как большая часть этой терминологии относится к временам, когда USB не существовал, а съемными были такие устройства, как дискеты/DVD. Если вы пытаетесь определить, является ли устройство нефиксированным в компьютере, вам может потребоваться использовать комбинацию этих ключей, но точная комбинация не согласуется между версиями macOS.
Источник extensions/host/libhost.m строка 571

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.host.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API