У меня есть скрипт (в bash под CentOS), который вызывает программу, и я должен сказать ему, какой порт использовать для последовательной связи.
У меня есть некоторый код, который проходит через порты, чтобы найти тот, которыйне используется и выбирает его.(Я использую «/ sbin / lsof -i -P -n» и получаю результаты, чтобы увидеть, используется ли данный порт).Это отлично работает.
Моя проблема в том, что я хочу запустить несколько экземпляров этого сценария одновременно.Существует задержка между выбором свободного порта и программой, использующей этот порт, чтобы он больше не отображался как доступный.
В результате каждый экземпляр сценария выбирает один и тот же порт.
Есть ли какой-нибудь простой механизм, который бы выбирал свободный порт и блокировал его атомарно, чтобы я мог избежать этого состояния гонки?