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

процесс модуля

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

Справочный метод:

1
var process = require('process');

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

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

событие перед выходом

Событие 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.exitexitCodeЗначение, переданное методу .

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

Когда процесс 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, возвращает значение, представляющее время

cpuUsage

Запросите время, затрачиваемое текущим процессом в пользовательском и системном коде, в виде микросекундного значения (миллионные доли секунды).

1
static Object process.cpuUsage(Object previousValue = {});

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

  • previousValue: Объект, указывает время последнего запроса

Возвращаемый результат:

  • Object, возвращает отчет со временем

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

1 2 3 4
{ "user": 132379, "system": 50507 }

в:

  • user возвращает время, которое процесс провел в пользовательском коде
  • system возвращает время, которое процесс провел в системном коде

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

Возвращаемый результат:

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

disconnect

закрыть канал ipc родительским процессом

1
static process.disconnect();

send

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

1
static process.send(Value msg);

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

  • msg: значение, указывает сообщение для отправки

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

argv

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

1
static readonly Array process.argv;

execArgv

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

1
static readonly Array process.execArgv;

version

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

1
static readonly String process.version;

versions

Объект, возвращает информацию о версии 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

Строка, запросите название текущей платформы, возможные результаты: «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;

connected

Boolean, запрос, нормально ли подключен канал к родительскому процессу

1
static readonly Boolean process.connected;