Модуль Базовый модуль

Модульный процесс

Модуль обработки процессов для управления ресурсами текущего процесса

Контрольный метод:

1
var process = require('process');

Событие процесса

Объект модуля процесса является экземпляром EventEmitter , который может реагировать на события уровня процесса, регистрируя прослушиватель событий.

событие beforeExit

Когда задача fibjs пуста, и никакая дополнительная работа не добавлена, событие beforeExit будет beforeExit

1
process.on('beforeExit', exitCode => {});

Обычно, если в очередь задач не добавляется дополнительная работа, процесс fibjs завершается. Но если функция обратного вызова прослушивателя, связанного с событием beforeExit запускает новую задачу, такую ​​как запуск волокна, тогда процесс fibjs продолжит выполняться.

process.exitCode передается в качестве единственного значения параметра в функцию обратного вызова beforeExit событий beforeExit . Если процесс собирается завершиться по явным причинам, таким как прямой вызов process.exit или создание необработанного исключения, событие beforeExit не будет инициировано.

событие выхода

При выходе из fibjs происходит событие exit после того как все слушатели, связанные с событием exit будут выполнены, процесс завершится

1
process.on('exit', exitCode => {});

Функция обратного вызова прослушивателя события exit имеет только один входной параметр. Значением этого параметра может быть значение атрибута process.exitCode или значение exitCode переданное при exitCode метода process.exit .

Сигнальное событие

Когда процесс fibjs получает сигнал, он запускает сигнальное событие. В настоящее время поддерживаются сигналы SIGINT и SIGTERM. Название каждого события указывается заглавными буквами имени сигнала (например, событие SIGINT соответствует сигналу SIGINT).

Сигнальные события отличаются от других событий процесса. Сигнальные события выгружаются. Когда происходит сигнал, независимо от текущей операции io или операции JavaScript, соответствующее событие будет инициировано как можно скорее. Например, вы можете использовать следующий код для прерывания текущего приложения и вывода статуса выполнения:

1 2 3 4 5 6
var coroutine = require('coroutine'); process.on('SIGINT', () => { coroutine.fibers.forEach(f => console.error("Fiber %d:\n%s", f.id, f.stack)); process.exit(); });

Название сигнала и его значение следующие:

  • SIGINT: когда терминал работает, он может поддерживаться всеми платформами и обычно может запускаться с помощью сочетания клавиш CTRL + C.
  • SIGTERM: этот сигнал срабатывает при остановке процесса. Не поддерживается в Windows.

Статическая функция

umask

Измените текущий umask, Windows не поддерживает этот метод

1
static Integer process.umask(Integer mask);

Параметры вызова:

  • mask : целое число, укажите новую маску

Вернуть результат:

  • Integer , вернуть предыдущую маску

Измените текущий umask, Windows не поддерживает этот метод

1
static Integer process.umask(String mask);

Параметры вызова:

  • mask : строка, укажите новую маску, восьмеричный тип строки (например: «0664»)

Вернуть результат:

  • Integer , вернуть предыдущую маску

Возвращает текущий umask, Windows не поддерживает этот метод

1
static Integer process.umask();

Вернуть результат:

  • Integer , возвращает текущее значение маски

hrtime

Возвращает высокоточное время системы, это время не имеет никакого отношения к текущему времени, используется только для высокоточной синхронизации

1
static Array process.hrtime(Array diff = []);

Параметры вызова:

  • diff : массив, начальное время для сравнения

Вернуть результат:

  • Array , возвращает время синхронизации, формат [секунды, наносекунды]

exit

Выйти из текущего процесса и вернуть exitCode в качестве результата процесса

1
static process.exit();

Выйти из текущего процесса и вернуть результат

1
static process.exit(Integer code);

Параметры вызова:

  • code : целое число, возврат результата процесса

cwd

Возвращает текущий рабочий путь операционной системы

1
static String process.cwd();

Вернуть результат:

  • String , возвращает текущий системный путь

chdir

Изменить текущий рабочий путь операционной системы

1
static process.chdir(String directory);

Параметры вызова:

  • directory : строка, укажите новый путь

uptime

Запрос времени работы операционной среды, в секундах

1
static Number process.uptime();

Вернуть результат:

  • Number , возвращает числовое значение, представляющее время

memoryUsage

Запросить текущий отчет об использовании памяти процесса

1
static Object process.memoryUsage();

Вернуть результат:

  • Object , возвращает отчет, содержащий память

Отчет памяти выдает результаты, подобные следующим:

1 2 3 4 5
{ "rss": 8622080, "heapTotal": 4083456, "heapUsed": 1621800 }

из их:

  • rss возвращает текущий объем физической памяти процесса
  • heapTotal возвращает объем памяти кучи движка v8
  • heapUsed возвращает размер памяти кучи, используемой механизмом v8.

nextTick

Запустить волокно

1 2
static process.nextTick(Function func, ...args);

Параметры вызова:

  • func : функция, сформулировать функцию выполнения волокна
  • args : ..., последовательность параметров переменной, эта последовательность будет передана функции в волокне

binding

Получить внутренний модуль с указанным именем

1
static Value process.binding(String name);

Параметры вызова:

  • name : String, указывает name внутреннего модуля для запроса

Вернуть результат:

  • Value , вернуть указанный внутренний модуль

open

Запустите указанную командную строку, возьмите потоки ввода и вывода процесса и верните объект процесса

1 2 3
static SubProcess process.open(String command, Array args, Object opts = {});

Параметры вызова:

  • command : String, укажите командную строку для запуска
  • args : Array, укажите список параметров для запуска
  • opts : Object, указать параметры для запуска

Вернуть результат:

  • SubProcess , возвращает объект процесса, который содержит результаты

Опции, поддерживаемые опциями, следующие:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Запустите указанную командную строку, возьмите потоки ввода и вывода процесса и верните объект процесса

1 2
static SubProcess process.open(String command, Object opts = {});

Параметры вызова:

  • command : String, укажите командную строку для запуска
  • opts : Object, указать параметры для запуска

Вернуть результат:

  • SubProcess , возвращает объект процесса, который содержит результаты

Опции, поддерживаемые опциями, следующие:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

start

Запустите указанную командную строку и верните объект процесса

1 2 3
static SubProcess process.start(String command, Array args, Object opts = {});

Параметры вызова:

  • command : String, укажите командную строку для запуска
  • args : Array, укажите список параметров для запуска
  • opts : Object, указать параметры для запуска

Вернуть результат:

  • SubProcess , возвращает объект процесса, который содержит результаты

Опции, поддерживаемые опциями, следующие:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Запустите указанную командную строку и верните объект процесса

1 2
static SubProcess process.start(String command, Object opts = {});

Параметры вызова:

  • command : String, укажите командную строку для запуска
  • opts : Object, указать параметры для запуска

Вернуть результат:

  • SubProcess , возвращает объект процесса, который содержит результаты

Опции, поддерживаемые опциями, следующие:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

run

Запустите указанную командную строку и верните код завершения процесса

1 2 3
static Integer process.run(String command, Array args, Object opts = {}) async;

Параметры вызова:

  • command : String, укажите командную строку для запуска
  • args : Array, укажите список параметров для запуска
  • opts : Object, указать параметры для запуска

Вернуть результат:

  • Integer , вернуть результат выполнения команды

Опции, поддерживаемые опциями, следующие:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Запустите указанную командную строку и верните код завершения процесса

1 2
static Integer process.run(String command, Object opts = {}) async;

Параметры вызова:

  • command : String, укажите командную строку для запуска
  • opts : Object, указать параметры для запуска

Вернуть результат:

  • Integer , вернуть результат выполнения команды

Опции, поддерживаемые опциями, следующие:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Статическая собственность

argv

Array, возвращает параметры командной строки текущего процесса

1
static readonly Array process.argv;

execArgv

Array, возвращает специальные параметры командной строки текущего процесса, эти параметры используются fibjs для установки рабочей среды

1
static readonly Array process.execArgv;

version

String, возвращает строку версии fibjs

1
static readonly String process.version;

versions

Object, возвращает информацию о версии fibjs и компонентов

1
static readonly Object process.versions;

execPath

Строка, запросить полный путь к текущему файлу выполнения

1
static readonly String process.execPath;

env

Объект, запросить переменные окружения текущего процесса

1
static readonly Object process.env;

arch

Строка, запрос текущей среды процессора, возможные результаты: 'amd64', 'arm', 'arm64', 'ia32'

1
static readonly String process.arch;

platform

String, запросите имя текущей платформы, возможный результат - darwin, freebsd, linux или win32

1
static readonly String process.platform;

pid

Целое число, читайте идентификатор процесса, на который указывает текущий объект

1
static readonly Integer process.pid;

ppid

Integer, читайте идентификатор родительского процесса, на который указывает текущий объект

1
static readonly Integer process.ppid;

stdin

File , запрос стандартного объекта ввода текущего процесса

1
static readonly File process.stdin;

stdout

File , запрос стандартного объекта вывода текущего процесса

1
static readonly File process.stdout;

stderr

File , запросить объект вывода стандартной ошибки текущего процесса

1
static readonly File process.stderr;

exitCode

Целое число, запрос и установка кода выхода текущего процесса

1
static Integer process.exitCode;