在 Linux 中,使用 nohup 后台运行程序并管理日志,常见用法如下:
nohup command > output.log 2>&1 &
nohup:让程序在终端关闭后继续运行command:你要运行的命令> output.log:标准输出重定向到日志文件2>&1:标准错误也写入同一个日志文件&:放到后台运行✅ 推荐写法
nohup python3 app.py > app.log 2>&1 &
nohup java -jar app.jar > app.log 2>&1 &
nohup ./start.sh > start.log 2>&1 &
jobs # 当前 shell 的后台任务
ps -ef | grep app
tail -f app.log
nohup command >> app_$(date +%Y%m%d).log 2>&1 &
nohup command > /dev/null 2>&1 &
nohup command &?默认会生成 nohup.out,容易占满磁盘,不推荐。
✅ 一定要手动指定日志文件
ps -ef | grep command
kill PID
如果你愿意,可以告诉我:
我可以给你一个更规范的生产级方案(比如配合 cronolog 或 systemd)。