在 Linux 系统中,nohup 命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。默认情况下,nohup 会将程序的输出重定向到一个名为 nohup.out 的文件中。如果你想自定义日志输出格式,可以使用 shell 脚本和重定向功能来实现。
以下是一个示例,展示了如何配置 Linux nohup 日志输出格式:
run_my_program.sh),并在其中编写你的程序命令以及日志输出格式设置。例如:#!/bin/bash
# 获取当前日期和时间
current_date=$(date +"%Y-%m-%d %H:%M:%S")
# 运行你的程序,并将 stdout 和 stderr 重定向到日志文件
./my_program > my_program_stdout.log 2> my_program_stderr.log
# 获取程序退出状态
exit_status=$?
# 将退出状态写入日志文件
echo "Program exited with status: $exit_status" >> my_program_stdout.log
# 将日志文件名和当前日期时间写入另一个日志文件(例如:my_program_log.txt)
echo "[$current_date] stdout and stderr logs are saved in my_program_stdout.log and my_program_stderr.log" >> my_program_log.txt
# 退出脚本
exit $exit_status
chmod +x run_my_program.sh
nohup 命令运行脚本:nohup ./run_my_program.sh &
这将在后台运行你的程序,并按照你在脚本中定义的格式记录日志。在这个示例中,我们将 stdout 和 stderr 分别重定向到 my_program_stdout.log 和 my_program_stderr.log 文件中,并将程序退出状态和日志文件名写入 my_program_log.txt 文件中。你可以根据需要修改这些文件名和日志格式。