在CentOS系统中,使用nohup命令运行程序时,默认的日志文件为nohup.out,其存储位置遵循以下规则:
nohup会将输出重定向到执行命令时所在的当前目录。例如,在/home/user/myapp目录下运行nohup ./myapp &,nohup.out会生成在该目录下。/root或其他受保护目录),nohup会尝试将日志文件存储在用户主目录($HOME)下,即/home/用户名/nohup.out。若需将日志存储到指定位置,可通过**重定向标准输出(stdout)和标准错误(stderr)**实现,常用格式如下:
>重定向标准输出,2>&1将标准错误合并到标准输出。例如,将日志保存到/var/log/myapp.log,命令为:nohup ./myapp > /var/log/myapp.log 2>&1 &
此时,日志会写入/var/log/myapp.log,而非默认位置。/tmp/output.log,标准错误存到/tmp/error.log:nohup ./myapp > /tmp/output.log 2> /tmp/error.log &
若不确定日志位置,可通过以下命令快速查找:
find命令扫描整个文件系统(需root权限),查找名为nohup.out的文件:sudo find / -name nohup.out 2>/dev/null
该命令会忽略权限错误,列出所有匹配的文件路径。ls -l nohup.out确认文件是否存在。/var/log/需root权限),否则nohup无法创建日志文件。logrotate工具归档。