我需要一个例程同时发出 2 个或更多 dns 请求,但只使用第一个/最快的结果。
我如何从孩子那里退回答案,所以我只能得到一个结果?
$pid = pcntl_fork();
if ($pid == -1) die("could not fork");
if ($pid) {
//parent
} else {
$pid2 = pcntl_fork();
if ($pid2 == -1) die("could not fork");
if ($pid2) {
//parent-child
exec("/usr/bin/dig @8.8.8.8 $name A +short +time=1+tries=1",$ips_array,$digreturn);
} else {
exec("/usr/bin/dig @8.8.4.4 $name A +short +time=1 +tries=1",$ips_array,$digreturn);
}
}
print_r ($ips_array);
如果两个请求都返回,这将返回 2 倍的答案