Процессы
В терминологии операционных систем процесс — это пространство, в котором может выполняться программа. Emacs работает в процессе. Программы на Emacs Lisp могут вызывать другие программы в собственных процессах. Они называются подпроцессами или дочерними процессами процесса Emacs, который является их родительским процессом.
Подпроцесс Emacs может быть синхронным или асинхронным — в зависимости от способа его создания. При создании синхронного подпроцесса программа на Lisp ожидает его завершения, прежде чем продолжить выполнение. При создании асинхронного подпроцесса он может выполняться параллельно с программой на Lisp. В Emacs такой подпроцесс представлен объектом Lisp, который также называется «процессом». Программы на Lisp могут использовать этот объект для обмена данными с подпроцессом или управления им. Например, можно отправлять сигналы, получать сведения о состоянии, принимать вывод процесса или отправлять ему входные данные.
Помимо процессов, в которых выполняются программы, программы на Lisp могут открывать соединения нескольких типов с устройствами или процессами, работающими на той же машине или на других машинах. Поддерживаются следующие типы соединений: сетевые соединения TCP и UDP, соединения через последовательный порт и соединения через каналы. Каждое такое соединение также представлено объектом процесса.
- Функция: processp object
Эта функция возвращает
t, если object представляет объект процесса Emacs, иnilв противном случае. Объект процесса может представлять подпроцесс, выполняющий программу, или соединение любого поддерживаемого типа.
Помимо подпроцессов текущего сеанса Emacs, можно также обращаться к другим процессам, выполняющимся на вашей машине. См. раздел Доступ к другим процессам.
- Функции создания подпроцессов
- Аргументы командной оболочки
- Создание синхронного процесса
- Создание асинхронного процесса
- Удаление процессов
- Сведения о процессах
- Отправка входных данных процессам
- Отправка сигналов процессам
- Получение вывода процессов
- Сентинелы: обнаружение изменений состояния процесса
- Запрос перед выходом
- Доступ к другим процессам
- Очереди транзакций
- Сетевые соединения
- Сетевые серверы
- Датаграммы
- Низкоуровневый сетевой доступ
- Прочие сетевые средства
- Обмен данными через последовательные порты
- Упаковка и распаковка массивов байтов
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Processes.html