更新/etc/resolv.conf,服务不生效问题

背景

  1. linux操作系统
  2. cpp程序添加了dnscache 逻辑(调用getaddrinfo()),想更换local-dns服务,更新重载后,抓包看程序并不生效,DNS查询还是之前的local-dns-server.

原因

  1. 根源在于每个进程都有自己的环境变量;
  2. 系统启动进程时,会拷贝当前系统的环境变量
  3. fork()创建进程时,拷贝父进程环境变量;

解决方案

  1. 重启服务
  2. 慎重调用res_init()方法;

你可能感兴趣的:(更新/etc/resolv.conf,服务不生效问题)