A maioria dos shells enviam SIGHUP para o grupo de processos em primeiro plano na saída (e, em alguns, processos em segundo plano também, no bash isso é controlado com a opção shell huponexit
), que pode causar a sua morte, dependendo de como O cliente mysql lida com isso.
Você pode executar seu comando prefixado com nohup
para que ele seja reparado pelo init se o seu shell sair, independentemente de o seu shell enviar SIGHUP ou não (sendo reparado pelo init não está relacionado especificamente ao nohup - é apenas que tem sobrevivido a seu pai).
Possivelmente, uma solução mais palatável seria usar tmux
, screen
, dtach
ou semelhante para executar o cliente abstraído do seu shell e terminal de controle. Dessa forma, se seu shell for desconectado, você simplesmente se reconectará à sessão em que estava executando a consulta.
Em geral, os pacotes keepalive não importam, a conexão não será terminada sem nenhum motivo. Uma preocupação mais premente seria a perda de conexão entre o cliente e o servidor por outros motivos (falha de rede, etc.).