Spec-Zone.ru › OCaml 5.0

Глава 30 Библиотека unix: Системные вызовы Unix

Библиотека unix предоставляет доступ к многим системным вызовам Unix и системным функциям библиотеки для программ OCaml. В этой главе кратко описаны предоставляемые функции. Подробную информацию о поведении этих функций см. в разделах 2 и 3 руководства Unix.

  • Модуль Unix: Системные вызовы Unix
  • Модуль UnixLabels: Системные вызовы Unix с метками

Не все функции доступны во всех вариантах Unix. Если некоторые функции недоступны, при их вызове будет возбуждено исключение Invalid_arg.

Программы, использующие библиотеку unix, должны быть связаны следующим образом:

        ocamlc other options -I +unix unix.cma other files
        ocamlopt other options  -I +unix unix.cmxa other files

Для интерактивного использования библиотеки unix, выполните:

        ocamlmktop -o mytop -I +unix unix.cma
        ./mytop

или (если динамическая компоновка C-библиотек поддерживается на вашей платформе), запустите ocaml и введите

# #directory "+unix";;
# #load "unix.cma";;
Windows: Порт Cygwin для OCaml полностью реализует все функции из модуля Unix. Нативные порты Win32 реализуют подмножество функций. Ниже приведен список функций, которые не реализованы или частично реализованы портами Win32. Функции, не упомянутые в списке, полностью реализованы и ведут себя так, как описано ранее в этой главе.
Функции Комментарий
fork не реализована, используйте create_process или потоки
wait не реализована, используйте waitpid
waitpid можно дождаться только процесса с заданным PID, а не любого дочернего процесса
getppid не реализована (не имеет смысла в Windows)
nice не реализована
truncate, ftruncate реализована (с версии 4.10.0)
link реализована (с версии 3.02)
fchmod не реализована
chown, fchown не реализована (не имеет смысла в файловой системе DOS)
umask не реализована
access Права доступа на выполнение X_OK не могут быть проверены, вместо этого проверяются только права на чтение.
chroot не реализована
mkfifo не реализована
symlink, readlink реализована (с версии 4.03.0)
kill частично реализована (с версии 4.00.0): реализован только сигнал sigkill
sigprocmask, sigpending, sigsuspend не реализована (нет межпроцессных сигналов в Windows)
pause не реализована (нет межпроцессных сигналов в Windows)
alarm не реализована
times частично реализована, не будет отображать временные данные для дочерних процессов
getitimer, setitimer не реализована
getuid, geteuid, getgid, getegid всегда возвращает 1
setuid, setgid, setgroups, initgroups не реализована
getgroups всегда возвращает [|1|] (с версии 2.00)
getpwnam, getpwuid всегда возбуждает исключение Not_found
getgrnam, getgrgid всегда возбуждает исключение Not_found
тип socket_domain PF_INET полностью поддерживается; PF_INET6 полностью поддерживается (с версии 4.01.0); PF_UNIX поддерживается с версии 4.14.0, но работает только в Windows 10 1803 и более поздних версиях.
establish_server не реализована; используйте потоки
функции терминала (tc*) не реализованы
setsid не реализована

© 1995-2022 INRIA.
https://v2.ocaml.org/releases/5.0/htmlman/libunix.html

Spec-Zone.ru

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