gpt4 book ai didi

c - 从 C 程序观察 Linux Syslog 上的新条目

转载 作者:太空宇宙 更新时间:2023-11-04 11:38:23 25 4
gpt4 key购买 nike

我想编写一个程序来监视系统日志并在 PPP 身份验证失败时执行操作。

我认为“tail -f/var/log/syslog”可能有所帮助,但我不确定如何使用它...可能使用管道?

我发现了一些用 bash 编写的类似的东西,但我不确定如何用 C 实现它。

这是 bash 方法:

首先使用 mkfifo 创建命名管道:

$ mkfifo -p /home/mezgani/syslog.pipe

使 syslog.conf 指向这个文件:

*.info |/home/mezgani/syslog.pipe

重启系统日志:

$ sudo pkill -HUP syslogd

创建读取管道的处理脚本

$ cat > foo
#!/bin/bash
cat /home/mezgani/syslog.pipe | while read input
do
# some stuff
echo ${input}
# ….
done

最佳答案

终于找到解决办法了!!

解决方案是使用命名管道!

首先,我需要创建一个命名管道:mkfifo/管道

然后,我将日志信息提供给管道:tail -f/var/log/syslog >/pipe

然后,我使用 OPEN 从 C 程序读取管道

int pipefd;
pipefd = open("/tmp/myFIFO", O_WRONLY);

关于c - 从 C 程序观察 Linux Syslog 上的新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com