fore_background_desvincular_procesos_de_la_shell
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
fore_background_desvincular_procesos_de_la_shell [2020/12/25 22:57] – external edit 127.0.0.1 | 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 261: | Line 275: | ||
comando << etiqueta # Toma la entrada para comando de las siguientes lineas, hasta una línea que tiene sólo etiqueta. | comando << etiqueta # Toma la entrada para comando de las siguientes lineas, hasta una línea que tiene sólo etiqueta. | ||
comando 2>&1 # Envía la salida de error a la salida estándar (el 1 y el 2 pueden ser reemplazado por otro descriptor de fichero, p.e. 1>& | comando 2>&1 # Envía la salida de error a la salida estándar (el 1 y el 2 pueden ser reemplazado por otro descriptor de fichero, p.e. 1>& | ||
- | comando &> fichero # Envía la salida estándar y de error a fichero; equivale a comando > fichero 2>&1 | ||
comando <<< | comando <<< | ||
+ | |||
+ | comando &> fichero # Envía la salida estándar y de error a fichero; equivale a comando > fichero 2>&1 | ||
+ | comando >& fichero # Igual que le anterior, envía la salida estándar y de error a fichero; equivale a comando > fichero 2>&1 | ||
# Redirigir salida estándar y/o salida de errores a la vez que se redirige a un fichero. | # Redirigir salida estándar y/o salida de errores a la vez que se redirige a un fichero. | ||
Line 278: | 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 286: | 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.1608933466.txt.gz · Last modified: 2020/12/25 22:57 by 127.0.0.1