在 CentOS 7 服务器中,我键入dmesg
并记下最后一个条目的时间戳。
接下来,我tail -f /var/log/dmesg
在同一台机器上输入不同的终端,以便我可以观察日志尾部。
第三,我使用同一终端在同一台计算机上运行了一些脚本。我输入的终端没有任何变化tail -f /var/log/dmesg
。
最后,我dmesg
再次输入,将日志提取到 Notepad++ 中,并注意到dmesg
在运行其他脚本时,输出中创建了 1,500 多行新日志。
必须输入哪些特定命令才能使tail
日志dmesg
实际显示在屏幕上?
答案1
dmesg 是一个环形缓冲区。也就是说,当达到一定大小时,旧数据将被丢弃。因此,它并不像普通文件那样工作。这有点像数据/proc
- 当您cat
或以其他方式显示它时,您只能看到该时刻的状态。
为了解决这个问题,较新的实现dmesg
包括-w
or--follow
开关,它们的工作方式类似于tail -f
.如果您想将其捕获到传统文件而不是环形缓冲区中,您可以使用如下构造:
dmesg --follow >> /path/to/file
或者,如果您还想查看正在捕获的内容:
dmesg --follow | tee -a /path/to/file
与此一样,这可以用一个简单的 INT 信号或-tail -f
来终止。CtrlC