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

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

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

Эталонный метод:

1
var process = require('process');

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

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

beforeExit событие

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

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

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

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

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

Когда fibjs завершает работу, событие exitбудет запущено после завершения exitвыполнения всего прослушивателя привязки событий, процесс будет завершен.

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

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

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

Когда процесс fibjs получает сигнал, он запускает событие signal.Поддерживаемые в настоящее время сигналы - 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(); });

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

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

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

umask

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

1
static Integer process.umask(Integer mask);

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

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

Результат возврата:

  • Integer, Вернуться к предыдущей маске

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

1
static Integer process.umask(String mask);

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

  • mask: String, укажите новую маску, восьмеричный строковый тип (например: «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: String, укажите новый путь для установки

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, укажите имя запрашиваемого внутреннего модуля

Результат возврата:

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

Статические свойства

argv

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

1
static readonly Array process.argv;

execArgv

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

1
static readonly Array process.execArgv;

version

Строка, вернуть строку версии fibjs

1
static readonly String process.version;

versions

Объект, вернуть информацию о версии fibjs и компонентов

1
static readonly Object process.versions;

execPath

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

1
static readonly String process.execPath;

env

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

1
static readonly Object process.env;

arch

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

1
static readonly String process.arch;

platform

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

1
static readonly String process.platform;

pid

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

1
static readonly Integer process.pid;

ppid

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

1
static readonly Integer process.ppid;

stdin

Stream, Запросить стандартный входной объект текущего процесса в tty В TTYInputStream, Иначе Stream

1
static readonly Stream process.stdin;

stdout

Stream, Запросить стандартный объект вывода текущего процесса в tty В TTYOutputStream, Иначе Stream

1
static readonly Stream process.stdout;

stderr

Stream, Запросить стандартный объект вывода ошибок текущего процесса в tty В TTYOutputStream, Иначе Stream

1
static readonly Stream process.stderr;

exitCode

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

1
static Integer process.exitCode;