Linux ejecuta de forma remota scripts, la pantalla se bloquea y nunca vuelve a los controles

Linux ejecuta de forma remota scripts, la pantalla se bloquea y nunca vuelve a los controles

Tengo un script en el servidor. Si lo ejecuto en el servidor localmente, no hay problema.

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

Sin embargo, si lo ejecuto de forma remota desde el cliente (otra máquina Linux), será así

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

Esta pantalla se cuelga y nunca vuelve a los controles; Tengo que usar Ctrl+c para finalizar el script cada vez y luego volver a los controles.

Sé que esto probablemente esté relacionado con cosas stdin, stdout y stderr. Por ahora he intentado ejecutar este fondo.

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

También lo intenté

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

Todo lo anterior falla y da el mismo problema. (No puedo crear una pantalla para ejecutarla por algunos motivos comerciales)

¿Alguien tiene alguna idea? Gracias

Actualización: cuando lo intento ps -ef | grep restart_formsen el cliente, puedo ver que este script todavía se está ejecutando en el cliente. No debería ser así.

Respuesta1

Si necesita ejecutar un script que no termina por sí solo y desea ejecutarlo sobre algo así, sshes mejor ejecutarlo en una sesión screeno tmux, de modo que su terminal esté separado del que se sshusa. De esa manera, sshpodrá salir después de invocar el script, y el script podrá continuar todo el tiempo que desee.

Para hacer eso, haga algo como lo siguiente:

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

información relacionada