Processus de module
Module de traitement de processus pour gérer les ressources du processus en cours
Méthode de référence :
1var process = require('process');
Événement de processus
L'objet module de processus est EventEmitter Par exemple, vous pouvez répondre aux événements au niveau du processus en enregistrant des écouteurs d'événement.
événement beforeExit
Lorsque la mission fibjs est vide et qu'aucun travail supplémentaire n'est ajouté, l'événement beforeExit
est déclenché
1process.on('beforeExit', exitCode => {});
Dans des circonstances normales, si aucun travail supplémentaire n'est ajouté à la file d'attente des tâches, le processus fibjs se terminera. Mais si les beforeExit
liaisons d'événements de l'écouteur de rappel démarrent une nouvelle tâche, telle que l'ouverture d'une fibre, le processus fibjs continuera à s'exécuter.
process.exitCodeEn tant que seul paramètre passé à la valeur de beforeExit
l'écouteur d'événement de la fonction de rappel. Si le processus est sur le point de se terminer pour des raisons explicites, telles que l'appel directprocess.exitOu lancez une exception non interceptée, l' beforeExit
événement ne sera pas déclenché.
événement de sortie
Lorsque fibjs se termine, l'événement exit
sera déclenché une fois que toute l' exit
exécution de l'écouteur de liaison d'événement sera terminée, le processus sera terminé
1process.on('exit', exitCode => {});
exit
La fonction de rappel de l'écouteur d'événement n'a qu'un seul paramètre d'entrée. La valeur de ce paramètre peut être process.exitCode La valeur de l'attribut, ou appel process.exitLorsque la méthode a passé la exitCode
valeur.
Événement de signal
Lorsque le processus fibjs reçoit un signal, il déclenche un événement de signal. Les signaux actuellement pris en charge sont SIGINT et SIGTERM. Chaque nom d'événement est représenté par la majuscule du nom du signal (par exemple, l'événement 'SIGINT' correspond au signal SIGINT).
Les événements de signal sont différents des autres événements de processus. Les événements de signal sont préemptés. Lorsqu'un signal se produit, quel que soit le courant ioL'opération, ou l'opération JavaScript, déclenchera l'événement correspondant dès que possible. Par exemple, vous pouvez utiliser le code suivant pour interrompre l'application en cours et afficher l'état d'exécution :
1
2
3
4
5
6var coroutine = require('coroutine');
process.on('SIGINT', () => {
coroutine.fibers.forEach(f => console.error("Fiber %d:\n%s", f.id, f.stack));
process.exit();
});
Les noms des signaux et leurs significations sont les suivants :
- SIGINT : lorsque le terminal est en cours d'exécution, il peut être pris en charge par toutes les plates-formes et peut généralement être déclenché par CTRL+C.
- SIGTERM : Ce signal est déclenché lorsque le processus est arrêté. Non pris en charge sous Windows.
Fonction statique
umask
Changer le umask actuel, Windows ne prend pas en charge cette méthode
1static Integer process.umask(Integer mask);
Paramètres d'appel :
- mask: Entier, spécifiez un nouveau masque
Résultat de retour :
- Integer, Retour au masque précédent
Changer le umask actuel, Windows ne prend pas en charge cette méthode
1static Integer process.umask(String mask);
Paramètres d'appel :
- mask: String, spécifiez un nouveau masque, type de chaîne octal (ex: "0664")
Résultat de retour :
- Integer, Retour au masque précédent
Renvoie le umask actuel, Windows ne prend pas en charge cette méthode
1static Integer process.umask();
Résultat de retour :
- Integer, Renvoie la valeur actuelle du masque
hrtime
Renvoie l'heure de haute précision du système. Cette heure n'a rien à voir avec l'heure actuelle et n'est utilisée que pour la synchronisation de haute précision
1static Array process.hrtime(Array diff = []);
Paramètres d'appel :
- diff: Array, le temps initial pour la comparaison
Résultat de retour :
- Array, Renvoie le temps de synchronisation, le format est [secondes, nanosecondes]
exit
Quitte le processus en cours et renvoie exitCode comme résultat du processus
1static process.exit();
Quitter le processus en cours et retourner le résultat
1static process.exit(Integer code);
Paramètres d'appel :
- code: Entier, renvoie le résultat du processus
cwd
Renvoie le chemin de travail actuel du système d'exploitation
1static String process.cwd();
Résultat de retour :
- String, Renvoie le chemin système actuel
chdir
Modifier le chemin de travail actuel du système d'exploitation
1static process.chdir(String directory);
Paramètres d'appel :
- directory: String, spécifiez le nouveau chemin à définir
uptime
Interroger le temps d'exécution de l'environnement d'exécution, en secondes
1static Number process.uptime();
Résultat de retour :
- Number, Renvoie la valeur représentant le temps
cpuUsage
Interroger le temps passé par le processus en cours dans le code utilisateur et système dont la valeur est une valeur en microseconde (un millionième de seconde)
1static Object process.cpuUsage(Object previousValue = {});
Paramètres d'appel :
- previousValue: Objet, spécifiez l'heure de la dernière requête
Résultat de retour :
- Object, Rapport de retour contenant l'heure
Le rapport de mémoire génère des résultats similaires aux suivants :
1
2
3
4{
"user": 132379,
"system": 50507
}
dans:
- user retourne le temps passé par le processus en code utilisateur
- le système renvoie le temps que le processus passe dans le code système
memoryUsage
Interroger le rapport d'utilisation de la mémoire du processus en cours
1static Object process.memoryUsage();
Résultat de retour :
- Object, Le retour contient un rapport de mémoire
Le rapport de mémoire génère des résultats similaires aux suivants :
1
2
3
4
5{
"rss": 8622080,
"heapTotal": 4083456,
"heapUsed": 1621800
}
dans:
- rss renvoie la taille de la mémoire physique actuellement occupée par le processus
- heapTotal renvoie la taille de la mémoire de tas du moteur v8
- heapUsed renvoie la taille de la mémoire de tas utilisée par le moteur v8
nextTick
Démarrer une fibre
1
2static process.nextTick(Function func,
...args);
Paramètres d'appel :
- func: Fonction, spécifiez la fonction à exécuter par la fibre
- args: ..., séquence de paramètre variable, cette séquence sera passée à la fonction dans la fibre
binding
Obtenir le module interne du nom spécifié
1static Value process.binding(String name);
Paramètres d'appel :
- name: String, spécifiez le nom du module interne à interroger
Résultat de retour :
- Value, Renvoie le module interne spécifié
Propriétés statiques
argv
Tableau, renvoie les paramètres de ligne de commande du processus en cours
1static readonly Array process.argv;
execArgv
Array, renvoie les paramètres de ligne de commande spéciaux du processus en cours, ces paramètres sont utilisés par fibjs pour définir l'environnement d'exploitation
1static readonly Array process.execArgv;
version
Chaîne, renvoie la chaîne de version de fibjs
1static readonly String process.version;
versions
Objet, renvoie les informations de version des fibjs et des composants
1static readonly Object process.versions;
execPath
String, interroge le chemin complet du fichier d'exécution en cours d'exécution
1static readonly String process.execPath;
env
Objet, interroge les variables d'environnement du processus en cours
1static readonly Object process.env;
arch
Chaîne, interroge l'environnement de processeur actuel, les résultats possibles sont'amd64','arm','arm64','ia32'
1static readonly String process.arch;
platform
Chaîne, interroge le nom de la plate-forme actuelle, les résultats possibles sont 'darwin', 'freebsd', 'linux' ou 'win32'
1static readonly String process.platform;
pid
Entier, lit l'id du processus pointé par l'objet courant
1static readonly Integer process.pid;
ppid
Entier, lit l'identifiant du processus parent pointé par l'objet courant
1static readonly Integer process.ppid;
stdin
Stream, Interroger l'objet d'entrée standard du processus en cours, dans tty Dans TTYInputStream, Autrement Stream
1static readonly Stream process.stdin;
stdout
Stream, Interroger l'objet de sortie standard du processus en cours, dans tty Dans TTYOutputStream, Autrement Stream
1static readonly Stream process.stdout;
stderr
Stream, Interroger l'objet de sortie d'erreur standard du processus en cours, dans tty Dans TTYOutputStream, Autrement Stream
1static readonly Stream process.stderr;
exitCode
Entier, interroger et définir le code de sortie du processus en cours
1static Integer process.exitCode;