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