Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 内核日志;“文件描述符”;用于选择?_Linux_Syslog - Fatal编程技术网

Linux 内核日志;“文件描述符”;用于选择?

Linux 内核日志;“文件描述符”;用于选择?,linux,syslog,Linux,Syslog,我使用klogctl(或syslog)通过重复获取内核日志消息的输出来收集它们 我想知道是否有可能获得与内核日志相关联的文件描述符,这样我就可以使用select来查看它(我已经在使用udev\u monitor\u get\u fd查看与udev监视器相关联的其他文件描述符,使用select对所有内容都很方便)您最好配置rsyslogd,将所有消息记录到您选择的fifo(mkfifo)中,然后您可以打开并选择从中读取 对于高于3.5的内核版本,/dev/kmsg包含所有内核日志。 开放时间如下:

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


我想知道是否有可能获得与内核日志相关联的文件描述符,这样我就可以使用
select
来查看它(我已经在使用
udev\u monitor\u get\u fd
查看与udev监视器相关联的其他文件描述符,使用
select
对所有内容都很方便)您最好配置rsyslogd,将所有消息记录到您选择的fifo(
mkfifo
)中,然后您可以打开并选择从中读取

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

int fk=open(“/dev/kmsg”,O_RDONLY | O_NONBLOCK)

通过在该点查找此文件的结尾,只能从程序中的某个特定点获取最新的内核消息:

lseek(fk,0,SEEK_END)


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

感谢您的贡献。我最终发现了
/dev/kmsg
,由于该应用程序将在最新内核上运行,因此它将为我提供帮助。