在使用 nohup 命令运行程序时,如果不显式指定输出重定向,日志默认会写入当前目录下的 nohup.out 文件。如果你找不到日志,或者想确认某个 nohup 进程的日志路径,可以通过以下几种方式查找:
nohup your_command &
nohup.out$HOME/nohup.outnohup your_command > /path/to/log.log 2>&1 &
/path/to/log.logps -ef | grep your_command
或
pgrep -af your_command
ls -l /proc/<PID>/fd
示例输出:
1 -> /path/to/log.log
2 -> /path/to/log.log
1 是标准输出(stdout)2 是标准错误(stderr)lsof -p <PID> | grep -E 'txt|log|out'
或者直接找打开的日志文件:
lsof -p <PID> | grep REG
cat /proc/<PID>/cmdline 看启动命令cat /proc/<PID>/cmdline | tr '\0' ' '
可以看到是否重定向了日志路径。
cd 到了某个目录后启动的 nohuppwd 确认启动时的目录find ~ -name nohup.out 2>/dev/null
find / -name nohup.out 2>/dev/null
如果你愿意,可以把你的 启动命令 或 ps 输出 发出来,我可以帮你精确判断日志在哪。