Minecraft Wiki перенесена на Единую платформу UCP. О замеченных ошибках, пожалуйста, сообщайте на портале сообщества или канале Discord.

OpenComputers/Process API

Материал из Minecraft Wiki
Перейти к: навигация, поиск

Интерфейс предоставляет базовое управление процессами. В основном, он используется модулем io для создания отдельного индивидуального ввода/вывода каждой программы.


  • process.load(path:string[, env:table[, init:function[, name:string]]]):coroutine

Загружает Lua скрипт по заданному абсолютному пути и запускает его как процесс. Он будет запущен в своем отдельном окружении, чтобы не возникла путаница с глобальным окружением вызывающей программы.

Процесс получит доступ ко всему заданному окружению (параметр env:table) или к окружению по умолчанию (если параметр был не задан).

Если задан параметр-функция init, она будет вызвана в первую очередь после запуска процесса, прежде запуска самого скрипта.

Параметр name задает название процесса, которое потом может быть получено функцией process.running.


  • process.running([level: number]): string, table, string

Возвращает путь к текущей запущенной программе (т.е. последней, которая была запущена функцией process.load).

Параметр level по желанию может использоваться для доступа к родительскому процессу. По умолчанию этот параметр равен 1 (текущая программа). Значение 2 будет означать родителя текущей программы (т.е. ту программу, которая вызвала process.load, чтобы запустить текущую) и т.д.

Второе возвращаемое значение — окружение процесса.

Третье возвращаемое значение — это название процесса (т.е. параметр name функции process.load). Для программ запущенных шеллом, это будет команда которая ее запустила.

Например: для программы запущенной командой ls -l, первое полученное значение будет ls, а третье — ls -l.