Спасибо, мистер Томас, проблема решена, видимо, я так увлекся, что даже забыл, что использую машину, которая не настроена должным образом для проверки DNS, хотя клиент находился в сети NAT, это было сервер Cent OS не выдавал DHCP и, следовательно, не имел никакой конфигурации DNS, я тестировал клиента, добавляя записи вручную. Наконец, я протестировал его с помощью замазки, как и раньше, и прямой и обратный поиск успешно разрешаются. Спасибо всем за ваше руководство и время, ценю это.
Ваш код правильный.
Я думаю, вы ошибаетесь, когда говорите, что P2 и P3 «подождут» завершения P1, прежде чем начать.
Вот доказательство (, и вы действительно можете протестировать то же самое, добавив те же отладочные сообщения в свой реальный код, чтобы быть уверенным):
executeCommand(){
echo "Starting $1"
sleep 4
echo "$1 Complete"
}
executeCommand 1 &
p1=$!
executeCommand 2 &
p2=$!
executeCommand 3 &
p3=$!
wait "$p1" "$p2" "$p3"
$ sh yourScript
Starting 1
Starting 2
Starting 3
1 Complete
2 Complete
3 Complete
$