você quer trabalhar com o comando nohup ?
Existe uma pergunta muito semelhante a presente , mas existe uma detalhes extras que tenho na minha situação.
Basicamente eu estou usando um ControlMaster para acelerar as conexões SSH. Então estou usando:
CurrentUser=$(whoami)
session=$(ps -el | grep $(id -u) |sed -e 's/sshd//g'| grep ssh)
if [ "$session" = "" ]
then
ssh -TMNf [email protected] &
fi
Depois desse código, eu tenho outro comando. A finalidade do comando ssh é unicamente executar em segundo plano para manter um soquete aberto para conexões mais rápidas (se nenhuma chamada ocorrer por um curto período de tempo, ela expirará e fechará devido à inatividade).
O problema é que este script não fecha e retorna ao chamador. Torna-se um < defunto > processo, e não retorna até que eu mate manualmente a sessão ssh criada. Como posso deixar o script retornar ao chamador e ter o ssh criado em segundo plano?
Editar: Eu quero que a sessão ssh criada persista depois que o script terminar para manter um soquete aberto para conexões mais rápidas com um comando rsync depois disso. Com um soquete aberto, passo de 3 a 4 segundos para milissegundos
você quer trabalhar com o comando nohup ?
Que tal experimentar o autossh:
Ele gerencia a conexão SSH para você e retorna para o chamador quando você o inicia.