在使用 nohup 运行程序时,输出通常会被重定向到日志文件(常见为 nohup.out 或自定义日志文件)。要查找其中的错误,可以按下面步骤来做:
nohup command &
日志默认写入当前目录的:
nohup.out
常见写法:
nohup python app.py > app.log 2>&1 &
错误和输出都在:
app.log
2>&1表示把标准错误(stderr)也写入日志
tail -f nohup.out
# 或
tail -f app.log
按 Ctrl + C 退出
tail -n 200 nohup.out
grep -i error nohup.out
grep -i exception nohup.out
grep -i "traceback" nohup.out
grep -i "failed" nohup.out
grep -i -A 10 -B 5 error nohup.out
-A:后几行-B:前几行ps -ef | grep your_command
或
jobs -l
如果进程不在了,说明程序已崩溃,错误一定在日志里。
如果日志太大:
split -l 10000 nohup.out log_part_
再逐个查看。
TracebackExceptioncommand not foundPermission deniednohup python app.py > app.log 2>&1 &
以后排查:
tail -f app.log
grep -i error app.log
如果你愿意,可以把日志内容或命令贴出来,我可以帮你直接分析错误原因。