【发布时间】:2019-12-10 12:06:30
【问题描述】:
在我的进程中,我正在创建一个子进程并使用 execl() API 运行一个二进制文件。在父进程中调用 waitpid() 并等待子进程退出。此二进制文件打开 "/etc/resolv.conf" 并尝试连接 DNS IP。如果 DNS ip 不可达,子进程会阻塞很长时间。由于该父进程超时。我没有二进制源代码,我不想对 /etc/resolve.conf 进行任何更改,因为该文件被其他进程使用。
有什么办法,我可以删除或限制对我的子进程的“/etc/resolve.conf”访问。
【问题讨论】:
-
父进程是否有root权限?
-
你知道你的子进程如果阻止它读取
/etc/resolv.conf会做什么吗? -
@AndrewHenle 是的,这个二进制文件可以从远程位置或本地磁盘读取文件。我只用它来读取本地磁盘文件。所以不上网也没关系。
-
@Ctx 是的,父进程有root权限。
-
只需将应用程序正在寻找的主机放入
/etc/hosts。