📜  nohup 运行 nodejs - Javascript (1)

📅  最后修改于: 2023-12-03 14:44:45.033000             🧑  作者: Mango

在后台运行 Node.js 程序 - 使用 nohup 命令

当我们在服务器上部署 Node.js 程序时,我们通常希望程序能够在后台持续运行,即使我们断开了与服务器的连接。为了实现这一目的,我们可以使用 nohup 命令。

nohup 是一个在 Unix/Linux 系统上运行命令时非常有用的工具。它可以让我们的程序忽略终端的挂断信号(SIGHUP),从而可以在后台持续执行。

下面是如何使用 nohup 命令来运行 Node.js 程序的示例:

  1. 打开终端并登录到你的服务器。
  2. 输入以下命令:
nohup node app.js &

这里的 app.js 是你要运行的 Node.js 程序的入口文件。

  1. 按下 Enter 键后,nohup 命令将在后台启动 Node.js 服务器,并将程序的输出重定向到一个名为 nohup.out 的文件中。

现在,你可以关闭终端,并且你的 Node.js 程序将继续在后台运行。

如果你想在后台运行程序时将输出重定向到自定义的日志文件中,可以使用以下命令:

nohup node app.js > mylog.txt 2>&1 &

这会将程序的输出重定向到名为 mylog.txt 的文件中,并将标准错误流(stderr)也重定向到该文件中。

在某些情况下,你可能希望在程序崩溃或被终止时自动重新启动。为此,你可以结合 nohup 命令和其他工具(如 pm2)来实现自动重启的功能。

总结:

  • nohup 命令可以让 Node.js 程序在后台持续运行,不受终端连接状态的影响。
  • 默认情况下,nohup 命令将程序的输出重定向到名为 nohup.out 的文件中。
  • 你可以使用重定向符号来将输出重定向到自定义的日志文件中。
  • 如果需要在程序崩溃或被终止时自动重新启动,可以结合其他工具来实现自动重启的功能。

请注意,以上内容假设你已经熟悉在 Unix/Linux 系统上使用终端和进程管理工具。同时,这只是将 Node.js 程序在后台运行的其中一种方法,也可以使用其他工具来实现相同的目的。