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 | ||
| linux:procesos [2018/04/27 22:58] – lc | linux:procesos [2023/01/18 14:10] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| 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 < | ||