Spec-Zone.ru › OCaml 4.14

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

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

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

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

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

        ocamlc other options unix.cma other files
        ocamlopt other options unix.cmxa other files

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

        ocamlmktop -o mytop unix.cma
        ./mytop

или (если на вашей платформе поддерживается динамическая загрузка библиотек C), запустите ocaml и введите #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/4.14/htmlman/libunix.html

Spec-Zone.ru

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