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/09/30 19:29] – [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**: |
fore_background_desvincular_procesos_de_la_shell.1664558984.txt.gz · Last modified: 2022/09/30 19:29 by busindre