DNS修改即时生效

来源:互联网 发布:类似快看小说的软件 编辑:程序博客网 时间:2024/05/16 08:00
#include <sys/types.h>#include <netinet/in.h>#include <arpa/nameser.h>#include <resolv.h>int res_init(void);

res_init: 读取配置文件(一般是/etc/resolv.conf)并修改环境变量(LOCALDOMAIN)。 在调用其他地址解析函数前通常要先调用res_init。如果执行成功, 函数返回0; 否则返回-1.

如修改了配置文件(/etc/resolv.conf)中的dns配置,重新调用res_init函数,立即生效,不需要重启服务设备。

对于环境变量的说明,以下摘至维基百科

在所有 Unix 和 类Unix系统中, 每个进程都有其各自的环境变量设置。 缺省情况下, 当一个进程被创建时, 除了创建过程中的明确更改外,它继承了其父进程的绝大部分环境设置。 在API层级上, 使用fork和exec函数进行变量设置。或利用bashshell文件, 使用特殊的命令调用来改变环境变量:通过env 间接替代或者使用ENVIRONMENT_VARIABLE=VALUE 标识. 所有的Unix操作系统 以及DOS 和Microsoft Windows 都是用环境变量,但是它们使用不同的环境变量名称。我们可以通过运行程序来访问环境变量的值。

可见调用res_init只会使当前进程更新dns生效,这一点需要注意。

0 0
原创粉丝点击