fore_background_desvincular_procesos_de_la_shell
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| fore_background_desvincular_procesos_de_la_shell [2022/07/08 18:37] – [Conceptos básicos sobre entrada / salida estándar y redirecciones] busindre | fore_background_desvincular_procesos_de_la_shell [2024/02/13 17:16] (current) – [Conceptos básicos sobre entrada / salida estándar y redirecciones] busindre | ||
|---|---|---|---|
| Line 21: | Line 21: | ||
| El carácter "&" | El carácter "&" | ||
| - | Ejecutar un comando en segundo plano tiene como finalidad principal, el ejecutar un comando cuando el usuario necesita salir, pero cerrando la sesión, en inglés "log out" (pts: comando exit / ttys: comando logout). Si el usuario no hace ese "log out", si no que cierra la terminal de golpe, el proceso en segundo plano es también eliminado. | + | Ejecutar un comando en segundo plano tiene como finalidad principal, el ejecutar un comando cuando el usuario necesita salir, pero cerrando la sesión, en inglés "log out" (pts: comando exit / ttys: comando logout). Si el usuario no hace ese "log out", si no que cierra la terminal de golpe, el proceso en segundo plano es también eliminado. |
| + | |||
| + | Por defecto, en sistemas POSIX, la ejecución de un comando en segundo plano, con "&", | ||
| NOTA: Cuando hay procesos detenidos, la primera ejecución del comando " | NOTA: Cuando hay procesos detenidos, la primera ejecución del comando " | ||
| Line 244: | Line 246: | ||
| NOTA: No todos los procesos sobreviven al cerrar la terminal, pese a que se haya desvinculado, | NOTA: No todos los procesos sobreviven al cerrar la terminal, pese a que se haya desvinculado, | ||
| - | ==== Recuperar la salida de un comando que se ejecuta en segundo plano ==== | + | ==== Recuperar la salida |
| - | Si se cerro la terminal donde se puso un programa en segundo plano y además se desvinculó previamente, | + | Si se cerro la terminal donde se puso un programa en segundo plano y además se desvinculó previamente, |
| <code bash> | <code bash> | ||
| + | |||
| + | Usando Ggb también puede cambiarse el stdout (1) y stderr (2) de un proceso en ejecución. | ||
| + | <code bash> | ||
| + | # PID: XXXX | ||
| + | gdb -p XXXX | ||
| + | |||
| + | # Cambiar la salida estándar al fichero / | ||
| + | p (int)dup2((int)open("/ | ||
| + | # Redirige la salida de error a /dev/null. | ||
| + | p (int)dup2((int)open("/ | ||
| + | # Redireccionando con gdb la salida de error a la terminal virtual /dev/pts/3. | ||
| + | p (int)dup2((int)open("/ | ||
| ==== Conceptos básicos sobre entrada / salida estándar y redirecciones ==== | ==== Conceptos básicos sobre entrada / salida estándar y redirecciones ==== | ||
| Line 280: | Line 294: | ||
| parámetro : c | parámetro : c | ||
| </ | </ | ||
| + | |||
| + | ** Desactivar / Reactivar la salida estándar y/o de errores en scripts de forma global ** | ||
| + | |||
| + | <code bash># Redireccionar la salida estándar a /dev/null. | ||
| + | exec 1>/ | ||
| + | # Redireccionar la salida de errores a /dev/null. | ||
| + | exec 1>/ | ||
| + | # Redireccionar la salida estándar y de errores a /dev/null. | ||
| + | exec 1>/ | ||
| + | |||
| + | # Restaurar la entrada y salida estándar a su comportamiento normal. | ||
| + | exec >/ | ||
| + | |||
| **Tuberías y el uso de redirecciones**: | **Tuberías y el uso de redirecciones**: | ||
| Line 288: | Line 315: | ||
| </ | </ | ||
| + | **Redirecionar la salida a ficheros encontrados mediante el comando find**. | ||
| + | <code bash># En todos los ficheros encontrados agregará una linea en blanco y posteriormente una linea conteniendo variable: " | ||
| + | find . -type f -print0 | xargs -0 -i sh -c ' echo -e " | ||
| ==== Conceptos básicos sobre los IDs asociados a los procesos en Linux ==== | ==== Conceptos básicos sobre los IDs asociados a los procesos en Linux ==== | ||
fore_background_desvincular_procesos_de_la_shell.1657298258.txt.gz · Last modified: 2022/07/08 18:37 by busindre
