Linux executa scripts remotamente, a tela trava e nunca mais volta aos controles

Linux executa scripts remotamente, a tela trava e nunca mais volta aos controles

Eu tenho um script no servidor. Se eu executá-lo localmente no servidor, não há problema.

<user@server> ~ % restart_forms A 
forms [A] is Restarting
<user@server> ~ %

Porém, se eu executá-lo remotamente do cliente (outra máquina Linux), será assim

<user@client> ~ % ssh server /path/restart_forms A
forms [A] is Restarting

Essa tela trava e nunca volta aos controles; Eu tenho que usar ctrl+c para encerrar o script todas as vezes e depois voltar aos controles.

Eu sei que isso provavelmente está relacionado a coisas stdin, stdout e stderr. Por enquanto eu tentei rodar este background

<user@client> ~ % ssh server /path/restart_forms A &

Também tentei

<user@client> ~ % ssh server /path/restart_forms A >/dev/null 2>&1 &

Todos acima falham e apresentam o mesmo problema. (Não consigo criar uma tela para execução por alguns motivos comerciais)

Alguém tem alguma ideia? Obrigado

Atualização: quando tento ps -ef | grep restart_formsno cliente, vejo que esse script ainda está em execução no cliente. Não deveria ser assim.

Responder1

Se você precisar executar um script que não termina sozinho e quiser executá-lo em algo como, sshé melhor executá-lo em uma sessão screenou tmux, para que seu terminal fique separado daquele sshusado. Dessa forma, sshvocê estará livre para sair após invocar o script, e o script poderá continuar pelo tempo que desejar.

Para fazer isso faça algo como o seguinte:

ssh <user>@<host> screen -d -m restart_forms A

informação relacionada