meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaÚltima revisiónAmbos lados, revisión siguiente | ||
linux:procesos [2018/02/28 13:02] – lc | linux:procesos [2018/10/29 15:20] – lc | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | 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> | + | {{tag> |
+ | ===== 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: <sxh> cp archivo1 archivo2 &</sxh> | ||
- | El proceso | + | Si hemos lanzado un comando y lo queremos |
- | + | ||
- | Un proceso que este parado en background | + | |
Con el comando **jobs**, podemos ver los procesos que están corriendo y sus posiciones | Con el comando **jobs**, podemos ver los procesos que están corriendo y sus posiciones | ||
- | Un proceso | + | Supongamos |
- | ejecutamos < | + | ==== Lanzar procesos con nohup ==== |
- | ahora ejecutamos | + | Esto es útil si queremos lanzar procesos que no se terminen al matar el shell padre. Un claro ejemplo |
+ | <sxh>nohup proceso &</sxh> | ||
+ | Una buena practica sería redireccionar stdin, stdout y stderr, para: | ||
+ | - rastrear la salida de nuestro script en caso de producirse algún error | ||
+ | - evitar problemas al terminar nuestra sesión ssh | ||
- | **Pongamos un ejemplo | + | Por ejemplo: |
- | + | < | |
- | Supongamos que acabo de ejecutar el comando visudo para editar el fichero de permisos de sudo, pero en un momento | + | ==== screen ==== |
+ | Si hemos lanzado algún proceso con nohup y & y en algún | ||
- | === Lanzar procesos con nohup === | + | El proceso sería el siguiente: |
- | Esto es útil si queremos lanazar procesos | + | * lanzamos el script |
- | <code>nohup proceso | + | < |
+ | * Presionamos | ||
+ | * Cuando queramos volver a conectarnos a nuestro proceso, lo primero es saber el identificador del screen | ||
+ | <sxh>screen -ls</ | ||
+ | < | ||
+ | root@bananapi: | ||
+ | There are screens on: | ||
+ | 24274.pts-0.bananapi | ||
+ | 2 Sockets in / | ||
+ | </ | ||
+ | * Para reconectarnos al proceso | ||
+ | < | ||
+ | === Opciones de screen === | ||
+ | | ctrl + a y después d|Para salir| | ||
+ | | Ctrl.+a | ||
+ | | Ctrl.+a n o [espacio]| se mueve hacia delante| | ||
+ | | Ctrl.+a p |se mueve hacia atrás| | ||
+ | |Ctrl.+a c |crea una nueva sesión| | ||
+ | |Ctrl.+a ? |ayuda| | ||
+ | |Ctrl.+a a |manda a un screen a lo que se está ejecutando| | ||
+ | |screen –ls |lista todos los screen abiertos| | ||
+ | |screen –x |si sólo hay uno abre ese. Si hay más de uno muetra una lista y entonces habría que hacer screen –x –r < |