[linux] nohup和pm2的区别 进程保活

[linux] nohup和pm2的区别 进程保活

维度

nohup

PM2

自动重启

❌ 崩溃后不会自动重启

✅ 崩溃/异常退出后自动重启

日志管理

只写到nohup.out,无法轮转

✅ 自动分文件、按大小轮转、pm2 logs实时查看

进程监控

❌ 无,只能ps aux

pm2 status一目了然,含内存/CPU/重启次数

开机自启

❌ 需要手动写 crontab

pm2 startup && pm2 save两条命令搞定

多进程管理

每个进程要单独 nohup

✅ 一个pm2 list管理所有服务

热重载

❌ 需要 kill 再重启

pm2 reload kario_tg_bot零停机更新

适用平台

Linux/Mac(Windows 不支持)

✅ Windows / Linux / Mac 全平台

# 安装 PM2(只需一次) npm install -g pm2 npm install -g pm2-windows-startup # 进入项目目录 cd C:\Users\1\K # 启动 Telegram Bot pm2 start apps\telegram_bot\run.py --name kario_tg_bot --interpreter python # 启动 Web API(如果需要) pm2 start apps\web_market\server.py --name kario_web_api --interpreter python # 设置开机自启(Windows 专用) pm2-startup install pm2 save # 查看状态 pm2 status # 查看实时日志 pm2 logs kario_tg_bot

日常运维命令

pm2 restart kario_tg_bot # 重启 pm2 stop kario_tg_bot # 停止 pm2 delete kario_tg_bot # 删除 pm2 logs kario_tg_bot # 查看日志 pm2 monit # 实时监控面板