Node.js ist eine JavaScript-Laufzeitumgebung, die auf der V8-Engine basiert und derzeit eine der am häufigsten verwendeten Technologien für die Frontend-Entwicklung ist. In Node.js ist der Prozess ein sehr wichtiges Konzept. Jede Node.js-Anwendung startet einen Prozess zur Ausführung. In einigen Fällen müssen wir den laufenden Prozess manuell beenden. In diesem Artikel erfahren Sie, wie Sie den Node.js-Prozess beenden.
In Node.js kann ein Prozess mehrere Signale empfangen, die zur Steuerung des Verhaltens des Prozesses, einschließlich des Abbruchs des Prozesses, verwendet werden können. Einige häufige Signale sind:
Strg + C
, normalerweise zum Beenden des Prozesses verwendet. 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: Wird normalerweise vom Betriebssystem gesendet, um anzuzeigen, dass der Prozess normal beendet werden muss.
Strg + Pause
unter Windows-System. 🎜Wenn der Prozess eines dieser Signale empfängt, löst Node.js das Ereignis exit()
des Objekts process
aus Lassen Sie uns einige Aufräumarbeiten durchführen, bevor der Vorgang abgeschlossen ist. 🎜🎜Beenden durch Code🎜🎜Wir können die Methode process.exit()
direkt im Code aufrufen, um den Prozess zu beenden. Die Methode process.exit()
unterstützt die Übergabe eines ganzzahligen Parameters, der als Exit-Code bezeichnet wird. Der Exit-Code ist 0, wenn der Prozess normal beendet wird, andernfalls ist er ein Wert ungleich Null. So: 🎜rrreee🎜In diesem Fall endet der Prozess mit Exit-Code 1, was im Terminal über echo $?
(Mac/Linux) oder echo %errorlevel % erfolgen kann
(Windows) Zeigen Sie den Exit-Code an. 🎜🎜Darüber hinaus können Sie vor dem Beenden des Prozesses das Ereignis exit()
abhören, um einige Bereinigungsvorgänge durchzuführen: 🎜rrreee🎜Verwenden Sie zusätzlich den Befehl kill
Zum Codieren können wir auch den Befehl kill
des Betriebssystems verwenden, um den Prozess zu beenden. Der Befehl kill
wird normalerweise verwendet, um Signale an den Prozess zu senden, um das Prozessverhalten zu steuern, zum Beispiel: 🎜rrreee🎜Wenn keine Parameter übergeben werden, sendet der Befehl kill
das SIGTERM Signal standardmäßig, was dazu führt, dass der Prozess normal endet. Zum Beispiel: 🎜rrreee🎜Verwenden Sie pm2
, um Prozesse zu verwalten🎜🎜pm2
ist ein sehr leistungsfähiges Prozessmanagement-Tool, das in Produktionsumgebungen häufig eingesetzt werden kann. pm2
kann Anwendungen über die Befehlszeile starten, neu starten und stoppen und den Ausführungsstatus der Anwendung überwachen. Es ist sehr einfach, pm2
zum Verwalten von Prozessen zu verwenden. Sie müssen lediglich den folgenden Befehl im Anwendungsverzeichnis ausführen: 🎜rrreee🎜Darüber hinaus ist pm2
auch für die Überwachung verantwortlich den Betriebsstatus und die Protokollausgabe der Anwendung. Sehr gut geeignet für den Einsatz in Produktionsumgebungen. 🎜🎜Kurz gesagt, es gibt viele Möglichkeiten, den Node.js-Prozess zu beenden. Die häufigste Methode besteht darin, die Methode process.exit()
über Code aufzurufen oder pm2
zu verwenden Managementprozess. In jedem Fall sollten wir sicherstellen, dass der Prozess normal beendet wird, um unnötige Systembelastung durch den im Hintergrund laufenden Prozess zu vermeiden. 🎜Das obige ist der detaillierte Inhalt vonSo beenden Sie einen Prozess in NodeJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!