我的程序在Solaris上运行,结构如下:
{
parse configuration file and construct hash tables in memory
spawn multi threads to access hash tables
......
}
由于程序依赖配置文件来构造哈希表,所以修改配置文件后,我需要重新启动程序。
现在我想动态加载配置文件,即修改配置文件后,向程序发送信号,程序重新加载文件并更新内存中的哈希表。
我能想到的唯一方法是使用 exec 系列函数在收到信号后重新加载程序。谁能提出好主意吗?首先十分感谢!
最佳答案
您可以使用FAM感知配置文件何时发生变化。
当文件更改时,您可以锁定表,重新填充它们,并向所有线程发出配置更改的信号(如果它们的内部状态依赖于此)。
关于c - C程序动态加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17611165/