Jump to content

unistd.h

В C и C++ языках программирования unistd.h — имя заголовочного файла , который обеспечивает доступ к POSIX операционной системы API . [1] Он определен стандартом POSIX.1, основой Единой спецификации Unix , и поэтому должен быть доступен в любой POSIX-совместимой операционной системе и компиляторе . Например, сюда входят Unix и Unix-подобные операционные системы, такие как варианты GNU , дистрибутивы Linux и BSD и macOS , а также компиляторы, такие как GCC и LLVM .

В Unix-подобных системах интерфейс, определенный unistd.h обычно состоит в основном из функций-оболочек системных вызовов, таких как fork, pipe и примитивы ввода-вывода ( read, write, close, и т. д.).

Уровни совместимости Unix, такие как Cygwin и MinGW, также предоставляют свои собственные версии unistd.h. Фактически, эти системы предоставляют его вместе с библиотеками перевода, которые реализуют его функции с точки зрения функций Win32. Например, в Cygwin файл заголовка можно найти в /usr/include который включает файл с таким же именем в /usr/include/sys. Там определено не все, но некоторые определения выполняются посредством ссылок на заголовки стандартной библиотеки GNU C (например, stddef.h ), которые предоставляют тип size_t и многие другие. Таким образом, unistd.h — это всего лишь общий адаптивный уровень, который может быть основан на уже существующих определениях системы и компилятора. Это имеет общее преимущество, заключающееся в том, что не определяется возможно параллельный набор заголовочных файлов, а создается тот, который построен на том же корне, что по этой причине вызовет гораздо меньше проблем в комбинированных случаях использования.

Обзор функций

[ редактировать ]
Функция Описание
crypt паролей и данных шифрование
encrypt шифровать 64-байтовые сообщения
gethostid получить уникальный идентификатор текущего хоста
gethostname получить имя хоста
getopt анализ параметров командной строки
swab поменять местами соседние байты
sysconf получить конфигурацию во время выполнения
Сигналы alarm тревоги запланировать сигнал
pause дождаться сигнала
Файловая система access
faccessat
faccessat2
пользователя проверьте права для файла или существует ли он
chdir
fchdir
изменить рабочий каталог
chown
fchown
lchown
fchownat
изменить владельца и группу файла
close закрыть дескриптор файла
dup
dup2
дублировать файловый дескриптор
fsync
fdatasync
синхронизировать внутреннее состояние файла с устройством хранения
fpathconf
pathconf
получить значения конфигурации для файлов
ftruncate
truncate
обрезать файл до указанной длины
getcwd
getwd
get_current_dir_name
получить текущий рабочий каталог
isatty проверить, относится ли дескриптор файла к терминалу
link
linkat
придумать новое имя для файла
lockf применить, проверить или удалить блокировку POSIX для открытого файла
lseek изменить положение смещения файла чтения/записи
pipe
pipe2
создать трубу
pread
pwrite
чтение или запись в файловый дескриптор по заданному смещению
read прочитать из файлового дескриптора
readlink
readlinkat
прочитать значение символической ссылки
rmdir удалить каталог
symlink
symlinkat
придумать новое имя для файла
sync
syncfs
зафиксировать кэши файловой системы на диске
ttyname
ttyname_r
вернуть имя терминала
unlink
unlinkat
удалить имя и, возможно, файл, к которому оно относится
write записать в файловый дескриптор
Процесс _exit вызова завершить процесс
execl
execlp
execle
execv
execvp
execvpe
выполнить файл
fexecve выполнить программу, указанную через файловый дескриптор
fork создать новый процесс
setpgid
getpgid
setpgrp
getpgrp
установить/получить группу процессов
getpid
getppid
получить идентификацию процесса
getsid получить идентификатор сеанса
nice изменить приоритет процесса
setsid создает сеанс и устанавливает идентификатор группы процессов
sleep спать определенное количество секунд
tcgetpgrp
tcsetpgrp
получить и установить группу процессов переднего плана терминала
Пользователь/группа getgid
getegid
получить идентификатор группы
getuid
geteuid
получить личность пользователя
getgroups получить список идентификаторов дополнительных групп
getlogin
getlogin_r
получить имя пользователя
seteuid
setegid
установить эффективный идентификатор пользователя или группы
setgid установить идентификатор группы
setreuid
setregid
установить реальный и/или эффективный идентификатор пользователя или группы
setuid установить личность пользователя
  1. ^ "unistd.h(0P)" . Руководство программиста POSIX . IEEE/Открытая группа. 2017 . Проверено 9 февраля 2024 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 97837d2a61eaaa094676efb706c49150__1707473520
URL1:https://arc.ask3.ru/arc/aa/97/50/97837d2a61eaaa094676efb706c49150.html
Заголовок, (Title) документа по адресу, URL1:
unistd.h - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)