2012-05-07 17 views
1

當C程序執行時會產生錯誤或執行成功。如果它產生錯誤,我將錯誤重定向到文件error.log。我想在error.log發生寫操作時立即生成一個Signal(通知),這個信號應該調用另一個程序,比如Parser.c,它將讀取error.log複製到緩衝區並清除日誌的內容文件。如何將數據寫入文件時生成信號?

是否有可能文件生成一個信號來調用另一個程序,如果是的話我們如何才能以編程方式實現它?

+6

閱讀有關'inotify',將偵聽器設置爲文件系統更改的信息。 –

+0

謝謝你的支持Eli Lser。如果有任何疑問,我會盡快回復您 – deepak

回答

0

我相信答案在不同系統上會有所不同。我建議你在完成文件寫入後,從第一個程序啓動另一個程序(在Linux上分叉一個新進程)。

+0

謝謝所有會員的支持我可以使用Inotify – deepak

0

一種方法是使用異步I/O機制(aio_ *),它們將發送AIO控制塊中指定的信號(查看手冊頁以獲取更多詳細信息,它非常完整)。基本上你會設置一個AIO控制塊來讀取,併發出一個aio_read()。收到信號後,您將處理數據。對於Linux來說,aio(7)是一個非常有用的手冊頁。