Spec-Zone.ru › Nim

std/posix_utils

Source Edit

Набор вспомогательных функций для модуля POSIX. Необработанные интерфейсы находятся в других файлах posix*.nim.

Импорты

posix, parsecfg, os, since

Типы

Uname = object
  sysname*, nodename*, release*, version*, machine*: string
Source Edit

Процедуры

proc fsync(fd: int) {....raises: [OSError], tags: [], forbids: [].}
синхронизирует кэш буфера файла со средством хранения Source Edit
proc memoryLock(a1: pointer; a2: int) {....raises: [OSError], tags: [], forbids: [].}
Блокирует страницы, начиная с a1, на a1 байт и предотвращает их подкачку. Source Edit
proc memoryLockAll(flags: int) {....raises: [OSError], tags: [], forbids: [].}

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

пример:

memoryLockAll(MCL_CURRENT or MCL_FUTURE)
Source Edit
proc memoryUnlock(a1: pointer; a2: int) {....raises: [OSError], tags: [],
    forbids: [].}
Разблокировать страницы, начиная с a1, на a1 байт, и разрешить их подкачку. Source Edit
proc memoryUnlockAll() {....raises: [OSError], tags: [], forbids: [].}
Разблокирует всю память для запущенного процесса, чтобы разрешить подкачку. Source Edit
proc mkdtemp(prefix: string): string {....raises: [OSError], tags: [], forbids: [].}
Создает уникальную временную директорию из префикса строки. Добавляет суффикс из шести символов. Директория создается с разрешениями 0700. Возвращает имя директории. Source Edit
proc mkstemp(prefix: string; suffix = ""): (string, File) {....raises: [OSError],
    tags: [], forbids: [].}
Создаёт уникальный временный файл из префиксной строки. Добавляется строка из шести символов. Если указан суффикс, он добавляется к строке. Файл создаётся с разрешениями 0600. Возвращает имя файла и открытый файл в режиме чтения/записи. Source Edit
proc osReleaseFile(): Config {....raises: [IOError, OSError, Exception, ValueError,
                                        KeyError], tags: [ReadDirEffect,
    WriteIOEffect, ReadIOEffect, RootEffect], forbids: [].}
Получает идентификацию системы из файла os-release и возвращает её как parsecfg.Config. Также необходимо импортировать модуль parsecfg, чтобы получить доступ к этому объекту. Файл os-release — официальный открытый стандарт Freedesktop.org. Доступен в дистрибутивах Linux и BSD, за исключением Android и Android-based Linux. Файл os-release по умолчанию недоступен в Windows и OS X.
  • https://www.freedesktop.org/software/systemd/man/os-release.html

Пример:

import std/parsecfg
when defined(linux):
  let data = osReleaseFile()
  echo "OS name: ", data.getSectionValue("", "NAME") ## the data is up to each distro.
Source Edit
proc sendSignal(pid: Pid; signal: int) {....raises: [OSError], tags: [],
    forbids: [].}
Отправляет сигнал запущенному процессу, вызывая kill. В случае ошибки, например, если процесс не запущен, вызовет исключение. Source Edit
proc stat(path: string): Stat {....raises: [OSError], tags: [], forbids: [].}
Возвращает состояние файла в структуре Stat Source Edit
proc uname(): Uname {....raises: [OSError], tags: [], forbids: [].}
Предоставляет информацию о системе в структуре Uname с атрибутами sysname, nodename, release, version и machine. Source Edit

© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/posix_utils.html

Spec-Zone.ru

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