[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mandar comando ejecutado a segundo plano mientras se está ejecutando






El 6 de febrero de 2014, 17:35, Juan Manuel Acuña Barrera <gps1mx@gmail.com> escribió:


Inicio del mensaje reenviado:

> Reenviado por: debian-user-spanish@lists.debian.org
> De: fernando sainz <fernandojose.sainz@gmail.com>
> Asunto: Re: Mandar comando ejecutado a segundo plano mientras se está ejecutando
> Fecha: 6 de febrero de 2014 09:59:08 GMT-6
> Para: debian-user-spanish <debian-user-spanish@lists.debian.org>
>
> El día 6 de febrero de 2014, 10:35, fernando sainz
> <fernandojose.sainz@gmail.com> escribió:
>> El día 6 de febrero de 2014, 10:31, Maykel Franco
>> <maykeldebian@gmail.com> escribió:
>>>
>>>
>>>
>>> 2014-02-06 10:23 GMT+01:00 Alberto Luaces <aluaces@udc.es>:
>>>
>>>> Maykel Franco writes:
>>>>
>>>>> Si cierro la terminal,
>>>>> se va a cancelar el comando que esté ejecutándose en ese momento.
>>>>
>>>> Para eso es el «screen» que te han recomendado, o el «tmux».
>>>
>>>
>>> Has seguido todo el hilo?? Es lo primero que he comentado en la consulta,
>>> que a parte de usar screen, &, nohup ...quería saber si te encuentras en la
>>> situación de que ya has lanzado el comando y no quieres pararlo, quieres
>>> mandarlo a segundo plano. Eso sí que me he explicado bien en la consulta....
>>>
>>> Hay veces que lanzas un comando y no te acuerdas/esperas de que va a tardar
>>> y una vez llevas un 30% no quiero pararlo para abrir un screen, lanzarlo con
>>> &, nohup... y te encuentras en esa situación. Creo que la consulta es clara.
>>>
>>> Saludos.
>>>
>>
>> Ten en cuenta una cosa. que el "Ctrl+z y bg" funcionan siempre y
>> cuando el comando que has lanzado no escriba en pantalla, en el
>> momento que un comando en background escribe algo, este se para (Lo
>> puedes ver con el comando jobs).
>>
>> Así que si no has redirigido la salida del comando a un fichero no vas a poder.
>>
>> S2.
>
>
> Olvide comentar que pasar un proceso a background no hace que continúe
> corriendo cuando se cierra la terminal.
> Hay que usar el comando interno de bash "disown -h %jobspec" para eso.
>
> S2.
>
>
> --
> To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: [🔎] CAGw=rHh6PyogEGSqwi8AJPbTAXYrnyf4idmg=EMxZqthJhPzNQ@mail.gmail.com" target="_blank">http://lists.debian.org/[🔎] CAGw=rHh6PyogEGSqwi8AJPbTAXYrnyf4idmg=EMxZqthJhPzNQ@mail.gmail.com
>

A ver, si he entendido bien:

Tienes un equipo A (laptop o pc) desde el que te conectas por ssh a un servidor, digámosle B, y le mandas un rsync desde B hasta C, que es otro servidor. Dicho rsync puede tardar 12 horas y faltan cinco minutos para que salgas de tu trabajo.

Lo que tu quieres es que, si es necesario cerrar la terminal, o apagar el equipo A o cualquier cosa similar, en cualquier caso, el rsync continúe. Lo que no quieres es que si se te olvidó lanzar screen o algo así mates el proceso por error o en su caso el engorro de pasar ese proceso a screen. ¿Hasta ahí voy bien?

Bueno, suponiendo que ese es el escenario, ¿por que no pones en tu .bashrc que _siempre_ que entres al servidor B o al C o al que sea se lance solito screen? Así no hay problemas con que se te olvidó lanzarlo. A mi me ha funcionado de maravilla.

Espero ser de utilidad.

Saludos!









Me parece una gran solucion Juan Manuel. El tema de la consulta era por si se daba el caso, pero muchas gracias de todas formas, me parece buena idea en cuestión.

Por cierto, tenía razon hay que usar disown sino te cierra el proceso si cierras la terminal aunque esté en background.

Lo que se aprende aquí.

Saludos.

Reply to: