在CentOS系统中,使用nohup命令运行程序时,默认情况下日志会保存在当前工作目录下的nohup.out文件中。例如,在/home/user/myapp目录下执行nohup ./myapp &命令,日志文件会自动生成在该目录下。
若当前工作目录不可写(如权限不足),nohup会自动将日志重定向到用户主目录下的nohup.out文件中(即$HOME/nohup.out)。例如,若当前目录为/tmp(通常不可写),日志会保存在/home/yourusername/nohup.out。
若需将日志保存到指定位置,可通过**重定向标准输出(stdout)和标准错误(stderr)**实现。常用命令格式如下:
nohup command > /path/to/logfile.log 2>&1 &>将标准输出重定向到指定文件,2>&1将标准错误合并到标准输出(即同步写入同一文件)。例如,nohup ./myapp > /var/log/myapp.log 2>&1 &会将日志保存到/var/log/myapp.log。nohup command > output.log 2> error.log &output.log,标准错误写入error.log(适用于需要分开排查错误的场景)。chmod +w /path/to/directory添加权限),否则会导致日志无法生成。/home/user/logs/app.log)而非相对路径(如./app.log),避免因工作目录变化导致日志位置不确定。tail -f /path/to/logfile.log命令实时查看日志更新,按Ctrl+C退出实时查看。