Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当 C 程序执行时,它会产生错误或成功执行。如果它产生错误,我会将错误重定向到文件 error.log。我希望在error.log上发生写操作后立即生成一个信号(通知),这个信号应该调用另一个程序,比如Parser.c,它将把error.log副本读入缓冲区并清除日志的内容文件。
如果是,文件是否有可能生成一个信号来调用另一个程序,那么我们如何以编程方式实现它?
我相信在不同的系统上答案会有所不同。我建议您在完成文件写入后从第一个程序(在 Linux 上 fork 一个新进程)启动其他程序。
一种方法是使用异步 I/O 机制 (aio_*),它们将发送 AIO 控制块中指定的信号(查看手册页了解更多详细信息,它非常完整)。本质上,您将设置一个用于读取的 AIO 控制块,并发出 aio_read()。收到信号后,您将处理数据。aio(7) for Linux 是一个非常有用的手册页。