A porta 59070 é uma porta efêmera - um que pode ser usado para conexões TCP de saída por qualquer processo. (Como é a porta 59071, de modo que não é realmente uma boa solução ...)
No Solaris, o intervalo de portas efêmeras é definido por tcp_smallest_anon_port
e os parâmetros ajustáveis tcp_largest_anon_port
. O intervalo padrão é de 32.768 a 65.535. Qualquer porta nesse intervalo pode estar em uso a qualquer momento por uma conexão TCP de saída.
Como afirmado na resposta do @Jeff Schaller, as portas são usadas por ordem de chegada, então a única maneira de "reservar" uma porta é ter algo ligado a ela o tempo todo. Observe que, nessa resposta, é possível que outro processo possa pegar a porta em questão no tempo entre a morte de um script "protetor de porta" e o processo "normal" que usa a porta realmente bind()
ing. Não é provável , admitidamente, mas pode acontecer. E se o seu processamento for crítico, acho que você precisa se preocupar com isso.
Eu recomendaria não usar uma porta efêmera e / ou configurar seu processo para ser executado o tempo todo ou use inetadm
para configurar um serviço que execute seu processo automaticamente . Isso fará com que o processo inetd
seja vinculado à porta "seu" o tempo todo, reservando-o efetivamente para seu uso.