no_proxy poderia ser definido como algo como no_proxy="intranet.domain.com,*.local,..." mas caso contrário, as variáveis de ambiente são sequências por processo, portanto não há maneira de [†] expressar a lógica de qualquerisInNet ou b) atualizar o ambiente de processos existentes que possuem algum conjunto de strings antigo e agora inválido. A menos que você mate todos os seus processos, defina um novo http_proxy com base em qualquer isInNet e reinicie todos os seus processos para que, quando fork , eles recebam uma nova cópia do novo http_proxy do processo pai. p>
Se todos os processos estiverem sob seu controle, você poderá escrever uma API para ajustar variáveis de ambiente. Isso falhará se você fork nunca estiver sob o seu controle (porque, então, esse processo pode ter algumas sequências incorretas) e provavelmente será desnecessariamente complicado em comparação com o uso da lógica de negócios existente.
[†] bem, há gdb ou qualquer outro tipo de memória de macacos, então não há maneira fácil ou não insana