nohup
日志和普通日志的主要区别在于它们在处理后台进程和记录日志时的行为
-
nohup
日志:- 当使用
nohup
命令运行程序时,程序将忽略挂起(SIGHUP)信号,这意味着即使终端关闭,程序也会继续运行。 nohup
命令会将程序的输出重定向到名为nohup.out
的文件中,或者在指定一个文件名作为输出。这样,即使程序在后台运行,你也可以在终端中查看输出。- 如果指定的输出文件不存在,
nohup
会自动创建它。如果文件已存在,nohup
会覆盖原有内容。 nohup
日志文件通常用于记录后台进程的输出,以便在程序崩溃或终端关闭后仍然可以查看日志。
- 当使用
-
普通日志:
- 普通日志是指程序在运行过程中产生的输出被直接写入到文件中,这些文件通常位于程序的日志目录下。
- 普通日志文件通常用于记录程序的运行状态、错误信息和调试信息,以便开发者和运维人员查看和分析。
- 普通日志文件可能会因为程序崩溃、终端关闭或其他原因而被中断。为了解决这个问题,可以使用日志轮转工具(如
logrotate
)来定期归档和压缩旧的日志文件。 - 普通日志文件可以通过日志级别(如 INFO、DEBUG、ERROR 等)进行过滤,以便只记录感兴趣的信息。
总之,nohup
日志主要用于在后台运行程序并记录输出,而普通日志主要用于记录程序的运行状态和错误信息。在实际应用中,根据需求选择合适的日志方式非常重要。