在 CentOS 上停止 Node.js 进程,常见做法有以下几种,按推荐程度排序:
如果你知道 Node.js 监听的端口(如 3000):
# 查看占用端口的进程
sudo lsof -i :3000
# 或
sudo netstat -tulpn | grep 3000
# 杀掉进程
kill -9 <PID>
示例:
kill -9 12345
ps aux | grep node
输出示例:
root 12345 node app.js
停止进程:
kill 12345
# 强制
kill -9 12345
⚠️ 如果有多个 node 进程,注意区分,避免误杀。
pkill(谨慎)直接杀掉所有 node 进程:
pkill node
或强制:
pkill -9 node
⚠️ 不推荐在生产环境直接使用,可能影响其他 Node 服务。
PM2 是 Node.js 常用进程管理器。
# 查看进程
pm2 list
# 停止
pm2 stop app_name
# 或
pm2 stop <id>
# 删除
pm2 delete app_name
如果你把 Node.js 配置成了系统服务:
systemctl status node-app
systemctl stop node-app
如果你是在终端前台运行:
Ctrl + C
| 场景 | 推荐方式 |
|---|---|
| 知道端口 | lsof -i :端口 + kill ✅ |
| 单机 Node 服务 | `ps aux |
| 使用 PM2 | pm2 stop ✅ |
| 生产环境 | PM2 / systemd ✅ |
如果你愿意,可以告诉我:
node app.js?PM2?Docker?)