在 Debian 系统中,nohup 命令用于在后台运行程序,即使关闭终端或断开连接也不会终止。默认情况下,nohup 会将输出重定向到 nohup.out 文件中。如果你想设置日志级别,可以通过以下几种方法来实现:
nohup 和重定向你可以将程序的标准输出和标准错误输出重定向到不同的日志文件,并使用 tee 命令来记录日志级别。
nohup your_command > output.log 2>&1 | tee -a output.log &
在这个例子中:
your_command 是你要运行的命令。output.log 是标准输出和标准错误输出的日志文件。tee -a output.log 将输出同时写入 output.log 文件并显示在终端上。syslog如果你希望将日志发送到系统的 syslog,可以使用 logger 命令。
nohup your_command 2>&1 | logger -t your_tag
在这个例子中:
your_command 是你要运行的命令。logger -t your_tag 将标准错误输出发送到 syslog,并使用 your_tag 作为日志标签。如果你的程序是用编程语言编写的,可以使用相应的日志库来设置日志级别。例如,如果你使用的是 Python,可以使用 logging 模块:
import logging
logging.basicConfig(filename='output.log', level=logging.INFO)
# 你的代码
在这个例子中,level=logging.INFO 设置了日志级别为 INFO。
supervisord如果你需要更复杂的日志管理,可以考虑使用 supervisord 来管理你的进程和日志。
supervisord:sudo apt-get install supervisor
/etc/supervisor/conf.d/your_program.conf:[program:your_program]
command=/path/to/your_command
stdout_logfile=/var/log/your_program.log
stderr_logfile=/var/log/your_program_error.log
autostart=true
autorestart=true
supervisord 配置并启动进程:sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start your_program
在这个例子中:
stdout_logfile 和 stderr_logfile 分别设置了标准输出和标准错误输出的日志文件。autostart 和 autorestart 设置了进程的自动启动和自动重启。通过这些方法,你可以灵活地设置和管理 Debian 系统中 nohup 命令的日志级别。