Heim > Web-Frontend > Front-End-Fragen und Antworten > So beenden Sie einen Prozess in NodeJS

So beenden Sie einen Prozess in NodeJS

PHPz
Freigeben: 2023-04-05 14:41:12
Original
1853 Leute haben es durchsucht

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.

Programmabbruchsignale

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:

  • SIGINT: ausgelöst durch Benutzereingabe Strg + C, normalerweise zum Beenden des Prozesses verwendet.
  • Ctrl + C,通常用来终止进程。
  • SIGTERM: 通常由操作系统发送,表示进程需要正常终止。
  • SIGHUP: 通常表示终端连接中断。
  • SIGBREAK: 触发于 Windows 系统下,用户输入 Ctrl + Break

当进程接收到这些信号中的任意一个,Node.js 会触发 process 对象的 exit() 事件,这个事件可以让我们在进程结束之前执行一些清理操作。

通过代码结束

我们可以直接在代码中调用 process.exit() 方法结束进程。process.exit() 方法支持传入一个整数参数,这个参数被称为退出码。当进程正常结束时,退出码为 0,否则为非 0 值。像这样:

const code = 1;
process.exit(code);
Nach dem Login kopieren

在这种情况下,进程将会以退出码 1 的方式结束,可以在终端中通过 echo $?(Mac/Linux) 或 echo %errorlevel%(Windows)查看退出码。

另外,在结束进程前,可以监听 exit() 事件执行一些清理操作:

process.on('exit', code => {
  // 执行一些清理操作
  console.log(`进程退出,退出码:${code}`);
});
Nach dem Login kopieren

使用 kill 命令

除了代码外,我们还可以使用操作系统的 kill 命令结束进程。kill 命令通常用于向进程发送信号,从而控制进程行为,例如:

# 给进程 ID 为 1234 的进程,发送 SIGTERM 信号结束进程
kill -SIGTERM 1234
Nach dem Login kopieren

如果不传递参数,则 kill 命令默认发送 SIGTERM 信号,这将导致进程正常结束。例如:

# 结束进程 ID 为 1234 的进程
kill 1234
Nach dem Login kopieren

使用 pm2 管理进程

pm2 是一个非常强大的进程管理工具,可以在生产环境广泛应用。pm2 可以通过命令行来启动、重启和停止应用程序,并监视应用程序运行状态。使用 pm2 管理进程非常简单,只需要在应用程序目录下运行以下命令:

# 启动应用程序
pm2 start app.js

# 重启应用程序
pm2 restart app.js

# 停止应用程序
pm2 stop app.js
Nach dem Login kopieren

另外,pm2 还负责监控应用程序的运行状态和日志输出,非常适合使用在生产环境中。

总之,结束 Node.js 进程有多种方法可供选择,其中最常用的方式是通过代码调用 process.exit() 方法或者使用 pm2SIGTERM: Wird normalerweise vom Betriebssystem gesendet, um anzuzeigen, dass der Prozess normal beendet werden muss.

SIGHUP: Zeigt normalerweise an, dass die Terminalverbindung unterbrochen ist. 🎜SIGBREAK: Ausgelöst durch Benutzereingabe 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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage