Copié un fragmento de Bash para poner en segundo plano un comando ssh ejecutado de forma remota:
ssh user@remote <<CMD
some process <&- >log 2>error &
CMD
¿Qué <&-hacer?
Supongo que es lo mismo que< /dev/null
Mi siguiente entendimiento es que los tres descriptores de archivos principales ( stdin, stdout, stderr) deben ser cerradas para impedir:
- El trabajo está en segundo plano y la secuencia de comandos sale, ¿conflictiva de alguna manera?
- Cuando el terminal se cierra, ¿se cierran todos los procesos que aceptan stdin del terminal?
ssh -nNT user@remote 'command'creará una sesión SSH no interactiva. Agregue &al fondo, anteponga nohupal commandpara mantenerlo en funcionamiento si su conexión se corta.
man sshsugiere que -N deshabilita la ejecución de un comando remoto por completo, y una prueba rápida lo respalda.