Eu tenho um programa .NET ( Edit: using MONO ), chamo de myfoo
que reside no meu servidor ubuntu remoto. Para acessá-lo, eu ssh na minha caixa (usando wifi, não ethernet). Meu bash shell inicia como normal, eu cd para o diretório e, em seguida, execute o programa via mono myfoo
. tudo isso funciona bem.
Infelizmente, a empresa onde trabalho tem alguns problemas bastante desagradáveis. A versão curta é que a vpn adivinha de vez em quando, então enquanto meu dispositivo permanece conectado ao wifi, toda a conexão de rede é cortada para o meu servidor.
Naturalmente, isso faz com que meu dispositivo acabe percebendo que a conexão desapareceu e exibe o erro tradicional do cano quebrado. Agora, aqui está o problema:
Quando eu me reconecto e inicio o myfoo novamente, ele não funciona. Eu rastreei o problema até o fato de que quando a conexão quebra, o bash não termina a instância anterior do myfoo. Eu tenho que matar manualmente a instância anterior antes de iniciar o novo. Por várias razões, isso é um problema. Eu teria esperado que quando a conexão quebrasse, bash sairia e, portanto, mataria qualquer criança que gerasse. Aparentemente, isso não está acontecendo. Existe uma maneira que eu possa fazer acontecer? Eu preferiria não alterar o código fonte do programa, mas se eu precisar, a fim de pegar uma interrupção ou algo que eu possa. Eu preferiria que houvesse alguma solução nas minhas configurações de perfil bash ou algo que permitisse que esse comportamento ocorresse.