如何将数据写入文件时生成信号?
问题描述:
当C程序执行时会产生错误或执行成功。如果它产生错误,我将错误重定向到文件error.log。我想在error.log发生写操作时立即生成一个Signal(通知),这个信号应该调用另一个程序,比如Parser.c,它将读取error.log复制到缓冲区并清除日志的内容文件。如何将数据写入文件时生成信号?
是否有可能文件生成一个信号来调用另一个程序,如果是的话我们如何才能以编程方式实现它?
答
一种方法是使用异步I/O机制(aio_ *),它们将发送AIO控制块中指定的信号(查看手册页以获取更多详细信息,它非常完整)。基本上你会设置一个AIO控制块来读取,并发出一个aio_read()。收到信号后,您将处理数据。对于Linux来说,aio(7)是一个非常有用的手册页。
阅读有关'inotify',将侦听器设置为文件系统更改的信息。 –
谢谢你的支持Eli Lser。如果有任何疑问,我会尽快回复您 – deepak