Linux C GCC由另一个进程中断

时间:2016-03-06 16:33:36

标签: php c linux gcc

我正在尝试编写一个访问MYSQL数据库的程序。该数据库由PHP脚本和C程序使用。

我的C程序大多数时间处于睡眠模式,如果数据库中的PHP脚本发生了某些变化,则需要通知我。因此,我想调用一个小程序,向我的C程序发送一个中断,然后连接到数据库并下载更改。

数据库连接和其他一切正常。但我不知道如何实现这个中断,我不想简单地轮询我的数据库。

有人给我建议吗?

2 个答案:

答案 0 :(得分:0)

您可能希望使用从php发送posix_kill的信号,并使用从C代码安装signal的信号处理程序接收信号。但是,您可能必须以运行Web服务器的同一用户运行C程序,以便允许php向C进程发送信号。

答案 1 :(得分:0)

这是一件非常奇怪的事情,你可能会误解实际问题。为什么修改数据库的东西与做这项工作不一样,不管它是什么?如果工作需要相对较快地完成,您可能只想睡觉n秒,然后再检查是否有新的事情需要做。如果请求很少并且您无论如何都需要快速反应,那么您希望拥有类似unix套接字的东西。 C程序(为什么C中的代码?)会在套接字上等待,通过套接字发送的通知会提示它查询数据库。除了为什么要让它查询数据库?为什么不发送实际请求?