Spec-Zone.ru › OCaml
☰Библиотека OCaml
  • Базовая библиотека
  • Стандартная библиотека
  • Фронтенд компилятора
  • Библиотека unix: системные вызовы Unix
  • Библиотека str: регулярные выражения и обработка строк
  • Библиотека runtime_events
  • Библиотека потоков
  • Библиотека dynlink: динамическая загрузка и компоновка объектных файлов
  • Недавно удалённые или перемещённые библиотеки (Graphics, Bigarray, Num, LablTk)

Глава 31 Библиотека 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: Порт OCaml для Cygwin полностью реализует все функции из модуля 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 не реализовано
« Фронтенд компилятораБиблиотека str: регулярные выражения и обработка строк »
Авторские права © 2024 Institut National de Recherche en Informatique et en Automatique

© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/libunix.html

Spec-Zone.ru

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