Maison  >  Article  >  interface Web  >  Comprendre l'objet de processus dans Node.js

Comprendre l'objet de processus dans Node.js

青灯夜游
青灯夜游avant
2020-12-01 17:36:243692parcourir

Comprendre l'objet de processus dans Node.js

Recommandations associées : "tutoriel node js"

L'objet processus est une variable globale et une instance EventEmitter qui fournit le courant Informations sur le processus Node.js et méthodes de fonctionnement

Informations système

L'objet de processus fournit des attributs pour renvoyer les informations système clés. Les attributs couramment utilisés sont

  • titre. : nom du processus, nœud de valeur par défaut, le programme peut être modifié pour rendre le journal des erreurs plus clair
  • pid : pid du processus actuel
  • ppid : pid du processus parent du processus actuel
  • plateforme : le système d'exploitation sur lequel le processus s'exécute (aix, drawin, freebsd, linux, openbsd, sunos, win32)
  • version : version Node.js
  • env : toutes les variables d'environnement du Shell actuel

stdin & stdout

Node.js et les objets d'interaction de périphérique d'entrée et de sortie standard sont également fournis via l'objet de processus

process.stdin.pipe(process.stdout)

Une simple ligne de code peut y parvenir. Imprimer le contenu d'entrée de la console sur la console tel quel

Informations d'exécution

process.execPath

Le processus La propriété .execPath renvoie le fichier binaire Node qui exécute le script actuel Chemin absolu

process.argv

la propriété process.argv renvoie un tableau, le contenu correspond aux paramètres lors de l'exécution du. script, mais les deux premiers du tableau sont fixes

  • Le chemin absolu du fichier binaire Node qui exécute le script actuel

  • Le chemin absolu chemin du fichier d'exécution actuel

process.js

console.log(process.argv);
node process.js a --b=2

[
  '/usr/local/bin/node',
  '/Users/undefined/node-demo/process.js',
  'a',
  '--b=2'
]

process.execArgv

La propriété process.execArgv renvoie un tableau dont les membres sont la commande paramètres de ligne entre le fichier exécutable Node et le fichier de script lors de l'exécution du script sur la ligne de commande

process.js

console.log(process.execArgv);
rrree

Méthodes de fonctionnement courantes

  • process.chdir () : Basculer le répertoire de travail vers le répertoire spécifié
  • process.cwd() : Retour pour exécuter le script actuel Le chemin du répertoire de travail, qui est le répertoire lors de l'exécution de la commande node
  • process.exit() : Quitte le processus en cours
  • process.memoryUsage() : Renvoie l'utilisation de la mémoire du processus Node.js

Événements de processus

L'objet processus est une instance de l'objet EventEmitter, qui peut surveiller certains événements de base du système. Les événements couramment utilisés sont

exit

Lorsque le processus Node.js est en cours. pour quitter pour l'une des raisons suivantes, l'événement exit sera déclenché :

  • Appelez explicitement la méthode process.exit()
  • Node.js La boucle d'événement n'a plus besoin pour effectuer un travail supplémentaire

Il n'y a aucun moyen d'empêcher la boucle d'événements de se terminer à ce moment-là, et le processus Node.js se terminera une fois que tous les exit écouteurs d'événements auront fini de s'exécuter

node --inspect process.js

[ '--inspect' ]

uncaughtException

Lorsque le processus actuel renvoie une erreur non détectée, l'événement uncaughtException sera déclenché

process.on('exit', (code) => {
  console.log(`退出码: ${code}`);
});

beforeExit

Lorsque Node.js efface son beforeExit l'événement est déclenché lorsque l'événement boucle et qu'il n'y a aucun autre travail à programmer. Normalement, le processus Node.js se terminera lorsqu'il n'y a pas de travail planifié, mais les auditeurs enregistrés sur l'événement beforeExit peuvent être appelés de manière asynchrone pour que le processus Node.js continue

process.on('uncaughtException', function (err) {
  console.error(err.stack);
});

message

si utilisé Le canal IPC bifurque le processus Node.js Lorsque le processus enfant reçoit le message envoyé par le processus parent à l'aide de childprocess.send(), il déclenchera l'événement message

process.on('beforeExit', (code) => {
  console.log('进程 beforeExit 事件的代码: ', code);
});

process.on('exit', (code) => {
  console.log('进程 exit 事件的代码: ', code);
});

console.log('此消息最新显示');

// 打印:
// 此消息最新显示
// 进程 beforeExit 事件的代码: 0
// 进程 exit 事件的代码: 0

process.nextTick(callback). )

processus. La méthode nextTick() ajoute le rappel à la file d'attente pour une exécution au moment suivant

Pour plus de connaissances sur la programmation, veuillez visiter : Cours vidéo de programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer