Node.js est un environnement d'exécution JavaScript basé sur le moteur V8 et est actuellement l'une des technologies les plus couramment utilisées pour le développement front-end. Dans Node.js, le processus est un concept très important et chaque application Node.js démarre un processus à exécuter. Dans certains cas, nous devons mettre fin manuellement au processus en cours. Cet article vous expliquera comment mettre fin au processus Node.js.
Dans Node.js, un processus peut recevoir plusieurs signaux, qui peuvent être utilisés pour contrôler le comportement du processus, y compris l'abandon du processus. Certains signaux courants incluent :
Ctrl + C
, généralement utilisé pour terminer le processus. Ctrl + C
,通常用来终止进程。Ctrl + Break
。当进程接收到这些信号中的任意一个,Node.js 会触发 process
对象的 exit()
事件,这个事件可以让我们在进程结束之前执行一些清理操作。
我们可以直接在代码中调用 process.exit()
方法结束进程。process.exit()
方法支持传入一个整数参数,这个参数被称为退出码。当进程正常结束时,退出码为 0,否则为非 0 值。像这样:
const code = 1; process.exit(code);
在这种情况下,进程将会以退出码 1 的方式结束,可以在终端中通过 echo $?
(Mac/Linux) 或 echo %errorlevel%
(Windows)查看退出码。
另外,在结束进程前,可以监听 exit()
事件执行一些清理操作:
process.on('exit', code => { // 执行一些清理操作 console.log(`进程退出,退出码:${code}`); });
kill
命令除了代码外,我们还可以使用操作系统的 kill
命令结束进程。kill
命令通常用于向进程发送信号,从而控制进程行为,例如:
# 给进程 ID 为 1234 的进程,发送 SIGTERM 信号结束进程 kill -SIGTERM 1234
如果不传递参数,则 kill
命令默认发送 SIGTERM 信号,这将导致进程正常结束。例如:
# 结束进程 ID 为 1234 的进程 kill 1234
pm2
管理进程pm2
是一个非常强大的进程管理工具,可以在生产环境广泛应用。pm2
可以通过命令行来启动、重启和停止应用程序,并监视应用程序运行状态。使用 pm2
管理进程非常简单,只需要在应用程序目录下运行以下命令:
# 启动应用程序 pm2 start app.js # 重启应用程序 pm2 restart app.js # 停止应用程序 pm2 stop app.js
另外,pm2
还负责监控应用程序的运行状态和日志输出,非常适合使用在生产环境中。
总之,结束 Node.js 进程有多种方法可供选择,其中最常用的方式是通过代码调用 process.exit()
方法或者使用 pm2
SIGTERM : généralement envoyé par le système d'exploitation pour indiquer que le processus doit se terminer normalement.
Ctrl + Break
sous le système Windows. 🎜Lorsque le processus reçoit l'un de ces signaux, Node.js déclenchera l'événement exit()
de l'objet process
. Effectuons un nettoyage avant la fin du processus. 🎜🎜Fin via le code🎜🎜Nous pouvons appeler directement la méthode process.exit()
dans le code pour terminer le processus. La méthode process.exit()
prend en charge la transmission d'un paramètre entier, appelé code de sortie. Le code de sortie est 0 lorsque le processus se termine normalement, sinon il s'agit d'une valeur non nulle. Comme ceci : 🎜rrreee🎜Dans ce cas, le processus se terminera par le code de sortie 1, qui peut être fait dans le terminal via echo $?
(Mac/Linux) ou echo %errorlevel %
(Windows) Afficher le code de sortie. 🎜🎜De plus, avant de terminer le processus, vous pouvez écouter l'événement exit()
pour effectuer quelques opérations de nettoyage : 🎜rrreee🎜Utilisez la commande kill
🎜🎜De plus pour coder, nous pouvons également utiliser la commande kill
du système d'exploitation qui termine le processus. La commande kill
est généralement utilisée pour envoyer des signaux au processus afin de contrôler le comportement du processus, par exemple : 🎜rrreee🎜Si aucun paramètre n'est passé, la commande kill
envoie le SIGTERM signal par défaut, ce qui entraînera la fin du processus normalement. Par exemple : 🎜rrreee🎜Utilisez pm2
pour gérer les processus🎜🎜pm2
est un outil de gestion de processus très puissant qui peut être largement utilisé dans les environnements de production. pm2
peut démarrer, redémarrer et arrêter des applications via la ligne de commande et surveiller l'état d'exécution des applications. Il est très simple d'utiliser pm2
pour gérer les processus. Il vous suffit d'exécuter la commande suivante dans le répertoire de l'application : 🎜rrreee🎜De plus, pm2
est également responsable de la surveillance. l'état d'exécution et la sortie du journal de l'application. Très approprié pour une utilisation dans des environnements de production. 🎜🎜En bref, il existe de nombreuses façons de terminer le processus Node.js, la manière la plus courante est d'appeler la méthode process.exit()
via du code ou d'utiliser pm2
processus de gestion. Quoi qu'il en soit, nous devons nous assurer que le processus se termine normalement pour éviter une charge inutile du système causée par le processus exécuté en arrière-plan. 🎜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!