📅  最后修改于: 2023-12-03 14:44:45.033000             🧑  作者: Mango
当我们在服务器上部署 Node.js 程序时,我们通常希望程序能够在后台持续运行,即使我们断开了与服务器的连接。为了实现这一目的,我们可以使用 nohup
命令。
nohup
是一个在 Unix/Linux 系统上运行命令时非常有用的工具。它可以让我们的程序忽略终端的挂断信号(SIGHUP),从而可以在后台持续执行。
下面是如何使用 nohup
命令来运行 Node.js 程序的示例:
nohup node app.js &
这里的 app.js
是你要运行的 Node.js 程序的入口文件。
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 程序在后台运行的其中一种方法,也可以使用其他工具来实现相同的目的。