Любое приложение созданное на Node.js — это экземпляр объекта Process, который наследует все свойства и методы этого объекта. С помощью этих свойств и методов мы можем получить информацию о приложении и контексте его исполнения. Ниже представлен пример работы некоторых свойств, назначение которых очевидно из названий.
Для использование данного примера, нужно создать .js файл, вводить код примера и запустить файл с терминала (командная строка).
console.log(process.execPath); console.log(process.version); console.log(process.platform); console.log(process.arch); console.log(process.title); console.log(process.pid);
Если используете операционную систему Windows, то результат может быть примерно такой:
C:\Program Files\nodejs\node.exe
v8.1.4
win32
x64
cmd — node test.js
3712
Еще две важные и часто используемые свойства объекта Process — это process.moduleLoadList и process.argv. С помощью свойство moduleLoadList мы можем получить информацию о загруженных модулях, а с помощью argv мы можем получить весь список команд из командной строки (терминал / cmd).
process.argv возвращает массив аргументов командной строки. Давайте рассмотрим это на примере. Нам нужно создать .js файл с таким содержанием:
console.log( process.argv );
После этого мы можем этот файл запустить с командной строки — сначала без дополнительных параметров, а потом с параметрами.
Без дополнительных параметров:
node test.js
Результат:
[ ‘C:\\Program Files\\nodejs\\node.exe’,
‘C:\\Users\\Voskan\\Desktop\\primeri\\test.js’ ]
Результатом будет массив параметров командной строки. Всегда первый элемент массива — это имя / адрес исполняемого правления, то есть адрес интерпретатора Node.js, второй параметр — это файл который исполняется.
А сейчас посмотрим пример с доп. параметрами:
node test.js foo bar kuku hello
Результат:
[ ‘C:\\Program Files\\nodejs\\node.exe’,
‘C:\\Users\\Voskan\\Desktop\\primeri\\test.js’,
‘foo’,
‘bar’,
‘kuku’,
‘hello’ ]
Мы видим, что свойство process.argv возвращает все команды / параметры терминала / консоли в виде массива данных.
Следующая команда / метод — это process.exit(), с помощью которого можно завершить / закрыть процесс. Метод в качестве параметра принимает число / статус код. По умолчанию это 0, который означает, что процесс завершен успешно. Чтобы завершить / выйти с ошибкой, нужно передать 1 — process.exit(1).
Код выхода определяется с помощью событие exit:
process.on("exit", (code) => { console.log("Процесс завершен с кодом: " + code); });
Еще один полезный метод — это process.memoryUsage(), который возвращает информацию о потребление памяти процессом Node в байтах. Метод возвращает информацию в виде объекта.
Пример использование метода process.memoryUsage():
console.log( process.memoryUsage() ); let arr = []; for(let i = 0; i <= 50000; i++){ arr[i] = "String " + i; } console.log( process.memoryUsage() );
Результат:
{ rss: 21565440,
heapTotal: 6291456,
heapUsed: 4411624,
external: 8252 }{ rss: 27615232,
heapTotal: 16777216,
heapUsed: 8688976,
external: 8252 }
heapTotal и heapUsed характеризуют потребление памяти JavaScript движка V8.
Комментарии