在Linux中,使用nohup命令运行程序时,默认情况下,标准输出(stdout)和标准错误(stderr)会被重定向到当前目录下的nohup.out文件。如果你想改变日志的输出路径,可以使用以下方法:
使用重定向操作符:
在运行程序时,可以使用>和2>操作符将stdout和stderr重定向到指定的文件。例如,如果你想将日志输出到/var/log/myapp.log,可以这样操作:
nohup your_command > /var/log/myapp.log 2>&1 &
这里,>表示将stdout重定向到指定文件,2>&1表示将stderr重定向到stdout(即/var/log/myapp.log),最后的&表示将命令放入后台运行。
使用nohup的默认输出文件:
如果你想保持nohup的默认输出文件(nohup.out),但希望将其存储在不同的目录下,可以在运行nohup命令之前使用mkdir命令创建一个新目录。例如,将日志输出到/var/log/myapp目录:
mkdir -p /var/log/myapp
nohup your_command > /var/log/myapp/nohup.out 2>&1 &
这样,nohup.out文件将被创建在/var/log/myapp目录下。
请注意,根据你的系统配置和权限,你可能需要使用sudo命令来执行这些操作。