Рубрики
Без рубрики

Node.js – процессы и ОС

Обзор Эта статья – часть 7 серии, работающих с Nodejs, серией статьи T … Tagged с JavaScript, Node, Event Driven.

Обзор

Эта статья Часть 7 серии Работа с Nodejs , серия статьи, которая поможет упростить работу с Node.js. В этой статье я расскажу Процессы и модуль ОС Анкет

Введение

A node.js процесс это программа, которая в настоящее время запускает наш код. Мы можем контролировать и собирать информацию о процессе с использованием глобального объекта процесса. Операционная система – это хост -система, в которой работает процесс, и мы можем найти информацию о операционной системе, используя ядро ОС модуль.

Процессы

Объект процесса – это глобальный объект, который предоставляет информацию о процессе текущего Node.js и контроля. Объект процесса является экземпляром EventEmitter и, следовательно, может регистрировать события. Два из широко используемых событий передэксит и Выход Анкет

process.once('beforeExit', (code) => {
  setTimeout(() => { console.log('Do some work') }, 200);
  console.log('Process beforeExit event with code: ', code);
});

process.on('exit', (code) => {
  console.log('Process exit event with code: ', code);
});

console.log('This message is displayed first.');

В приведенном выше фрагменте кода мы регистрируем передэксит и Выход События. передэксит Событие испускается, когда node.js опустошает цикл событий и не имеет дополнительной работы для планирования. Обратите внимание на передэксит Событие зарегистрировано с использованием Однажды метод Мы используем Однажды Метод, потому что в этом методе возможны асинхронные операции. Если мы изменили событие, чтобы использовать на Метод Процесс вступит в бесконечный цикл, потому что settimeout будет помещен обратно в петлю события перед выходом. Попробуйте это Анкет Теперь в пределах Выход Разрешены только синхронные операции. Когда Выход Событие испускается любая дополнительная работа, запланированная для цикла событий, будет заброшена. Другой часто используемый метод – Uncaughtexception Анкет Этот метод используется для исключений, которые не были учтены в рамках приложения и могут привести к сбою процесса. Однако вы должны Избегайте Использование этого метода, как известно, приводит к неожиданному и опасному состоянию в вашем заявлении. Для обработки отсутствия исключений у вас должна быть эффективная политика перезапуска, используя такие инструменты, как PM2 и навсегда Анкет

Stdio

Три свойства, обычно используемые с объектом процесса, являются stdin, stdout и Stderr . Эти свойства дают возможность взаимодействовать с входом терминала. Вывод также знает как stdio Анкет stdin это читаемый поток, который означает, что он ведет себя как вход. Оба stdout и Stderr Являются ли записи, означающие, что они действуют как выходы. Единственный общий метод, который реализуют все потоки, – это труба метод Давайте посмотрим пример. Я предоставлю вклад в Process.stdin через терминал с использованием node.js Crypto Module Анкет Затем я заведу этот ввод в консоль из другого файла под названием index.js используя труба метод

Терминал
node -p "crypto.randomBytes(10).toString('hex')" | node index.js
index.js
'use strict';
console.log('initialized');
process.stdin.pipe(process.stdout);

Запуск фрагмента кода выше, выходы Инициализирован и случайные байты, генерируемые Crypto.randombytes метод

Как указывалось ранее, объект процесса содержит информацию о процессе, давайте посмотрим на несколько примеров

'use strict'
console.log('Current Directory', process.cwd());
console.log('Process Platform', process.platform);
console.log('Process ID', process.pid);
console.log('Process CPU usage', process.cpuUsage());
console.log('Process', process.memoryUsage());

В приведенном выше фрагменте кода текущий рабочий каталог – это любая папка, в которой был выполнен процесс. Process.platform Указывает операционную систему хоста. Process.pid Возвращает идентификатор текущего процесса. Process.cpuusage () Возвращает пользовательский и системный процессор использования текущего процесса. Process.memoryusage () Возвращает объект, описывающий использование памяти процесса Node.js, измеренное в байтах.

Модуль ОС

ОС Module предоставляет функции для извлечения информации из операционной системы и в настоящее время запущенной программы.

'use strict'
const os = require('os');

console.log('Hostname', os.hostname());
console.log('Home dir', os.homedir());
console.log('Temp dir', os.tmpdir());
console.log('type', os.type());

В приведенном выше фрагменте кода Os.hostname Вернут имя хоста операционной системы в качестве строки. OS.Homedir Возвращает строковую путь домашнего каталога текущего пользователя. OS.TMPDIR Возвращает каталог по умолчанию операционной системы для временных файлов в качестве строки. OS.Type Возвращает имя операционной системы как возвращаемое Uname. Чтобы увидеть полный список доступных методов, посетите Официальная документация Node.js Для модуля ОС.

Спасибо, что нашли время, чтобы прочитать эту статью. Если вы нашли это полезным, пожалуйста, подпишитесь на сериал и позаботьтесь.

Оригинал: “https://dev.to/meddy672/node-js-processes-os-4jec”