Correr un script sin mantener la terminal con ssh abierta?

Iniciado por ‭lipman, 14 Febrero 2016, 18:49 PM

0 Miembros y 1 Visitante están viendo este tema.

‭lipman

Estoy trabajando con un server ubuntu al cual me conecto desde Windows con SSH (Cygwin) y tengo que ejecutar tareas que llevan muchisimo tiempo.

Existe alguna manera de ejecutar scripts sin tener que mantener la conexión abierta? Alguna manera de dejar al server corriendo un script todo el rato? Pensaba que podía hacer esto usando lo de "&" para dejarlo en background pero si cierro la terminal (ergo la conexión se pierde), se deja de ejecutar.

He pensado que una solución muy sucia sería hacerlo con crontab y que se ejecute una vez, pero quiero evitar esto por todos los medios.

Alguna idea?

Un saludo!

MinusFour

#1
Para eso esta screen y tmux.


screen
./script.sh


Presionas <Ctrl+A> - D y listo, el script esta corriendo.

Para reanudar:


screen -r


Si solo quieres que el script termine de ejecutarse tienes que usar nohup para que no se cierre el proceso cuando la session termina.


nohup comando &

engel lex

solo para aportar una solución diferente (A pesar que la de -4 es la más acertada e ideal para mi) recuerda que en linux tienes los terminales tty,  presionando ctrl+alt+f# (del f1 al f6) accedes a los 6 terminales tty, podrías hacerlo así... con f7 u f8 (depende de tu caso) vuelves al escritorio
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

‭lipman

Muchas gracias a los dos. Particularmente veo muy interesante la opción de usar screen. No entiendo cómo podía desconocer ese comando cuando es tan útil para trabajar remotamente. Hasta ahora siempre dejaba la terminal abierta.

Muchisimas gracias!

engel lex

los screen son muy potentes y utiles! a demás puedes crear multiples, con "screen -S nombre" creas las que quieras con nombres, así puedes acceder a multiples procesos remotamente de manera simultanea...  creo que con "screen -ls" muestras las activas
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.