在 Debian(以及大多数 Linux 发行版)中,nohup 本身并不强制规定日志路径,日志文件的位置取决于你运行命令时如何重定向输出。
如果你这样运行:
nohup your_command &
且没有手动重定向输出,nohup 会把 标准输出(stdout)和标准错误(stderr) 写入当前目录下的:
nohup.out
即:
/path/to/current/dir/nohup.out
通常在 Debian 服务器上会这样写:
nohup your_command > /var/log/myapp.log 2>&1 &
或:
nohup your_command >> /home/user/app.log 2>&1 &
日志就在你指定的路径里。
ps aux | grep your_command
找到 PID 后:
ls -l /proc/<PID>/fd
你会看到类似:
1 -> /home/user/app.log
2 -> /home/user/app.log
那就是日志路径。
lsof -p <PID> | grep txt
或:
lsof -p <PID> | grep -E '1u|2u'
如果你把程序做成 systemd 服务,那日志不在 nohup.out,而是:
journalctl -u your_service
nohup.out> 或 >>/proc/<PID>/fd 或 lsof如果你愿意,可以把你运行的 nohup 命令贴出来,我可以帮你精确指出日志在哪。