linux - 内核日志 "file descriptor"用于选择吗?

标签 linux syslog

我使用klogctl(或syslog)通过重复获取输出来收集内核日志消息。

我想知道是否可以获得与内核日志关联的文件描述符,以便我可以使用 select 来观看它(我已经在观看与 udev 监视器关联的其他文件描述符与udev_monitor_get_fd,并且使用select来处理所有事情会很方便)

最佳答案

对于高于3.5的内核版本,/dev/kmsg包含所有内核日志。 打开如下:

int fk = open("/dev/kmsg", O_RDONLY | O_NONBLOCK);

通过此时查找该文件的末尾,可以仅从程序中的某个特定点获取最新的内核消息:

lseek(fk, 0, SEEK_END);

然后,fk 以通常的方式添加到文件描述符集。

关于linux - 内核日志 "file descriptor"用于选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615442/

相关文章:

C++ Visual Studio 2012 到 Linux

php - 获取 cron 特定 pid

linux - 在具有 tar.uue 扩展名的 linux 上安装工具

linux - 如何使用 shell 查找某个文件的完整路径?

python - 如何在我的红帽服务器上运行 python 文件?

syslog - 如何将 rsyslog 消息重定向到其他路径而不是/var/log

c++ - 如何配置系统日志以便应用程序日志转到特定文件

linux - 什么是 syslog 中的 DNS 格式错误日志

linux - 不同 rsyslog 设施上的多个 apache 虚拟主机

linux - 和用户态的printk有什么相似之处?