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/04/27 23:58] – lc | linux:procesos [2018/10/29 15:20] – lc | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
{{tag> | {{tag> | ||
===== 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, | + | 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, |
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 | ||
- | |||
- | **Pongamos un ejemplo de lo anterior** | ||
Supongamos que acabo de ejecutar el comando visudo para editar el fichero de permisos de sudo, pero en un momento dado quiero pasarlo a background pulsando CTRL+Z con lo cual vuelvo a la consola. Para volverlo a llamar me basta con poner fg y el número de proceso | Supongamos que acabo de ejecutar el comando visudo para editar el fichero de permisos de sudo, pero en un momento dado quiero pasarlo a background pulsando CTRL+Z con lo cual vuelvo a la consola. Para volverlo a llamar me basta con poner fg y el número de proceso | ||
- | === Lanzar procesos con nohup === | + | ==== Lanzar procesos con nohup ==== |
- | Esto es útil si queremos | + | Esto es útil si queremos |
- | <code>nohup proceso &</code> | + | < |
+ | |||
+ | Una buena practica sería redireccionar stdin, stdout y stderr, para: | ||
+ | - rastrear la salida | ||
+ | - evitar problemas al terminar nuestra sesión ssh | ||
+ | |||
+ | Por ejemplo: | ||
+ | <sxh> | ||
+ | ==== screen ==== | ||
+ | Si hemos lanzado algún | ||
+ | |||
+ | El proceso sería el siguiente: | ||
+ | * lanzamos el script que necesitamos como parámetro del comando screen. | ||
+ | < | ||
+ | * Presionamos | ||
+ | * Cuando queramos volver a conectarnos a nuestro proceso, lo primero es saber el identificador del screen | ||
+ | < | ||
+ | < | ||
+ | root@bananapi: | ||
+ | There are screens on: | ||
+ | 24274.pts-0.bananapi | ||
+ | 2 Sockets in / | ||
+ | </ | ||
+ | * Para reconectarnos al proceso usamos el parámetro -r y el identificador de la sesión. | ||
+ | < | ||
+ | === 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 < |