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

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

Библиотека unix предоставляет программам на OCaml доступ ко многим системным вызовам Unix и связанным с системой библиотечным функциям. В этой главе кратко описаны предоставляемые функции. Подробнее об их поведении см. разделы 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: регулярные выражения и обработка строк »
Авторское право © 2026 Национальный институт исследований в области информатики и автоматики

© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/libunix.html

Spec-Zone.ru

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