Порт
Функции, связанные с портами Erlang.
Краткое описание
Типы
- name()
Функции
- call(port, operation, data)
-
Выполняет синхронный вызов
portи возвращает его ответ в виде термина. - close(port)
-
Закрывает
port. - command(port, data, options \\ [])
-
Отправляет
dataдрайверу портаport. - connect(port, pid)
-
Связывает идентификатор
portсpid. - control(port, operation, data)
-
Отправляет синхронную управляющую команду драйверу
portи возвращает её ответ в виде двоичных данных. - info(port)
-
Возвращает информацию о
portилиnil, если порт закрыт. - info(port, spec)
-
Возвращает информацию о
portилиnil, если порт закрыт. - list()
-
Возвращает список портов для текущего узла.
- open(name, settings)
-
Открывает порт Erlang, используя кортеж
nameи списокsettings.
Типы
name()
name ::
{:spawn, charlist | binary} |
{:spawn_driver, charlist | binary} |
{:spawn_executable, charlist | atom} |
{:fd, non_neg_integer, non_neg_integer}
Функции
call(port, operation, data)
call(port, integer, term) :: term
Выполняет синхронный вызов port и возвращает его ответ в виде термина.
Не все драйверы портов поддерживают эту функцию управления.
Для получения дополнительной информации см. :erlang.port_call/3.
Встроенная компилятором.
close(port)
close(port) :: true
Закрывает port.
Для получения дополнительной информации см. :erlang.port_close/1.
Встроенная компилятором.
command(port, data, options \\ [])
command(port, iodata, [:force | :nosuspend]) :: boolean
Отправляет data драйверу порта port.
Для получения дополнительной информации см. :erlang.port_command/2.
Встроенная компилятором.
connect(port, pid)
connect(port, pid) :: true
Связывает идентификатор port с pid.
Для получения дополнительной информации см. :erlang.port_connect/2.
Встроенная компилятором.
control(port, operation, data)
control(port, integer, iodata) :: iodata | binary
Отправляет синхронную управляющую команду драйверу port и возвращает её ответ в виде двоичных данных.
Не все драйверы портов поддерживают эту функцию.
Для получения дополнительной информации см. :erlang.port_control/3.
Встроенная компилятором.
info(port)
Возвращает информацию о port или nil, если порт закрыт.
Для получения дополнительной информации см. :erlang.port_info/1.
info(port, spec)
info(port, atom) :: {atom, term} | nil
Возвращает информацию о port или nil, если порт закрыт.
Для получения дополнительной информации см. :erlang.port_info/2.
list()
list() :: [port]
Возвращает список портов для текущего узла.
Для получения дополнительной информации см. :erlang.ports/0.
Встроенная компилятором.
open(name, settings)
open(name, list) :: port
Открывает порт Erlang, используя кортеж name и список settings.
Имя
Поддерживаемые значения для name:
-
{:spawn, command}— для запуска внешней программы. Первое слово вcommand, разделённое пробелом, будет считаться именем программы, поэтому используйте{:spawn_executable, command}, чтобы запустить программу с пробелами в имени. -
{:spawn_driver, command}— аналогично{:spawn, command}, но для запуска загруженного драйвера. -
{:spawn_executable, filename}— аналогично{:spawn, filename}, но для запуска внешнего исполняемого файла. В этом случаеfilenameв целом считается именем исполняемой программы. -
{:fd, fd_in, fd_out}— для доступа к дескрипторам файлов, используемым Erlang,fd_inиспользуется для стандартного ввода,fd_outдля стандартного вывода.
Для получения дополнительной информации см. :erlang.open_port/2.
Встроенная компилятором.
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.3.4/Port.html