OpenComputers/Process API
Интерфейс предоставляет базовое управление процессами. В основном, он используется модулем `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`

.