我想编写一个程序来监视 syslog 并在 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