unistd.h
Эта статья нуждается в дополнительных цитатах для проверки . ( февраль 2024 г. ) |
POSIX-библиотека C. |
---|
|
В 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
|
установить личность пользователя |
Ссылки
[ редактировать ]- ^ "unistd.h(0P)" . Руководство программиста POSIX . IEEE/Открытая группа. 2017 . Проверено 9 февраля 2024 г.
Внешние ссылки
[ редактировать ]- Единая спецификация UNIX , версия 4 от The Open Group : стандартные символические константы и типы — Справочник базовых определений,