Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
linux:procesos [28/04/2018 00:35]
lc
linux:procesos [29/10/2018 15:20] (actual)
lc
Línea 1: Línea 1:
 {{tag>​procesos background }} {{tag>​procesos background }}
 ===== Procesos en Background ===== ===== Procesos en Background =====
-Una de las grandes ventajas de linux es la ejecución de procesos en background. Por ejemplo si sabemos que la copia de un fichero puede llevar mucho tiempo y no queremos estar esperando a que termine para seguir trabajando entonces podemos lanzarlo en background. Para ello añadimos **&** al comando que queramos lanzar por ejemplo: <code> cp archivo1 archivo2 &</code>+Una de las grandes ventajas de linux es la ejecución de procesos en background. Por ejemplo si sabemos que la copia de un fichero puede llevar mucho tiempo y no queremos estar esperando a que termine para seguir trabajando entonces podemos lanzarlo en background. Para ello añadimos **&** al comando que queramos lanzar por ejemplo: <sxh> cp archivo1 archivo2 &</sxh>
  
 Si hemos lanzado un comando y lo queremos pasar a background presionamos CTRL+z, para parar el proceso y seguidamente escribimos **bg** para pasarlo a background, ​ o volverlo a continuar en foreground con **fg**. Si hemos lanzado un comando y lo queremos pasar a background presionamos CTRL+z, para parar el proceso y seguidamente escribimos **bg** para pasarlo a background, ​ o volverlo a continuar en foreground con **fg**.
Línea 11: Línea 11:
 ==== Lanzar procesos con nohup ==== ==== Lanzar procesos con nohup ====
 Esto es útil si queremos lanzar procesos que no se terminen al matar el shell padre. Un claro ejemplo del uso de nohup es cuando hacemos una conexión remota por ssh para lanzar un proceso y no queremos que el proceso se pare al desconectarnos. Esto es útil si queremos lanzar procesos que no se terminen al matar el shell padre. Un claro ejemplo del uso de nohup es cuando hacemos una conexión remota por ssh para lanzar un proceso y no queremos que el proceso se pare al desconectarnos.
-<code>nohup proceso &</code>+<sxh>nohup proceso &</sxh>
  
 Una buena practica sería redireccionar stdin, stdout y stderr, para:  Una buena practica sería redireccionar stdin, stdout y stderr, para: 
Línea 18: Línea 18:
  
 Por ejemplo: Por ejemplo:
-<code>nohup ./​miscript.sh > foo.out 2> foo.err < /dev/null &</code>+<sxh>nohup ./​miscript.sh > foo.out 2> foo.err < /dev/null &</sxh>
 ==== screen ==== ==== screen ====
  Si hemos lanzado algún proceso con nohup y & y en algún momento queremos volver a ver que está pasando, no podríamos . La única forma sería haber utilizado el comando **screen**  Si hemos lanzado algún proceso con nohup y & y en algún momento queremos volver a ver que está pasando, no podríamos . La única forma sería haber utilizado el comando **screen**
Línea 24: Línea 24:
 El proceso sería el siguiente: El proceso sería el siguiente:
   * lanzamos el script que necesitamos como parámetro del comando screen.   * lanzamos el script que necesitamos como parámetro del comando screen.
-<code>screen ./​miscript.sh</​code>+<sxh>screen ./​miscript.sh</​sxh>
   * Presionamos ​ **CTRL+A d** para volver a la terminal a ejecutar otros comandos o simplemente para desconectarnos mientras sigue el proceso ejecutándose   * Presionamos ​ **CTRL+A d** para volver a la terminal a ejecutar otros comandos o simplemente para desconectarnos mientras sigue el proceso ejecutándose
   * Cuando queramos volver a conectarnos a nuestro proceso, lo primero es saber el identificador del screen ​   * Cuando queramos volver a conectarnos a nuestro proceso, lo primero es saber el identificador del screen ​
-<code>screen -ls</code>+<sxh>screen -ls</sxh>
 <​file>​ <​file>​
 root@bananapi:​~#​ screen -ls root@bananapi:​~#​ screen -ls
Línea 35: Línea 35:
 </​file>​ </​file>​
   * Para reconectarnos al proceso usamos el parámetro -r y el identificador de la sesión.   * Para reconectarnos al proceso usamos el parámetro -r y el identificador de la sesión.
-<code>screen -r 24274.pts-0.bananapi</​code>+<sxh>screen -r 24274.pts-0.bananapi</​sxh>
  
 === Opciones de screen === === Opciones de screen ===