在 Linux 中,nohup 命令允许您在关闭终端或断开 SSH 连接后继续运行 Node.js 程序。以下是如何使用 nohup 命令运行 Node.js 程序的步骤:
打开终端。
导航到您的 Node.js 项目目录。例如,如果您的 Node.js 项目位于 /home/username/my-nodejs-app,请运行以下命令:
cd /home/username/my-nodejs-app
确保您的项目包含一个 package.json 文件,并且已经定义了一个名为 start 的脚本。例如:
{
"name": "my-nodejs-app",
"version": "1.0.0",
"scripts": {
"start": "node app.js"
},
"dependencies": {
// ...
}
}
在这个例子中,app.js 是您的主 Node.js 文件。
使用 nohup 命令运行您的 Node.js 程序。将 <your-script-name> 替换为您在 package.json 文件中定义的启动脚本名称(默认为 start)。这将在后台运行您的程序,并将输出重定向到名为 nohup.out 的文件。
nohup npm run <your-script-name> > nohup.out 2>&1 &
例如,如果您的启动脚本名称为 start,则命令应为:
nohup npm run start > nohup.out 2>&1 &
您现在可以安全地关闭终端或断开 SSH 连接。您的 Node.js 程序将继续在后台运行。
要检查程序的输出,可以使用 tail 命令查看 nohup.out 文件:
tail -f nohup.out
如果您需要停止运行 Node.js 程序,可以使用 ps 命令找到进程 ID(PID),然后使用 kill 命令终止进程。例如:
ps aux | grep app.js
kill <PID>
将 <PID> 替换为您在上一步中找到的进程 ID。