Tente redirecionar stdin, stdout e stderr para / dev / null. Para obter uma explicação, consulte o link .
Estou tentando criar um script / comando que reinicie nosso serviço Asterisk / Elastix em nosso PBX. O script é basicamente usando o comando simples com a chave pública de login automático que é executada a partir do Ubuntu 14.04LTS:
O script de comando é:
ssh user@iphost 'service asterisk restart'
Mas depois que o comando foi finalizado e o serviço foi reiniciado, o ssh permanece e somente após ctrl c ser quebrado.
Minha pergunta é como posso terminar a sessão após o comando ser concluído?
Tente redirecionar stdin, stdout e stderr para / dev / null. Para obter uma explicação, consulte o link .
Tente usar "aqui documento"
ssh user@iphos << endexe
service asterisk restart
exit
endexe
Isso deve funcionar.
Você pode fazer um plano de fundo assim que for executado:
ssh user@iphost 'service asterisk restart &'
Eu tenho um problema semelhante com um serviço upstart xinit
-based que monopoliza o estágio e precisa sair manualmente (não prejudica o trabalho do Upstart), mas sim, wang a &
no final e que deve forçá-lo em segundo plano.
Se isso lhe der gyp, existem várias outras opções como:
ssh user@iphost 'setsid service asterisk restart'
Você pode usar um dos seguintes comandos:
Reinicia o serviço e sai:
ssh user@iphost 'service asterisk restart; exit'
Reinicia o serviço e sai depois do sucesso:
ssh root@iphost 'service asterisk restart && exit'