linux:administracionprocesos
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:administracionprocesos [2018/12/21 12:32] – [Señales] alberto | linux:administracionprocesos [2018/12/23 17:36] (actual) – ↷ Página movida de linux:gestionsistema:administracionprocesos a linux:administracionprocesos alberto | ||
|---|---|---|---|
| Línea 60: | Línea 60: | ||
| ===== Señales: kill y killall ===== | ===== Señales: kill y killall ===== | ||
| - | Los comandos **kill** y **killall** permiten enviar señales a los procesos. | + | Los comandos **kill** y **killall** permiten enviar señales a los procesos. |
| + | El comando **kill** espera un número de proceso como argumento, mientras que **killall** espera un comando. **killall** debe usarse con precaución, | ||
| + | |||
| + | En ambos procesos es posible especificar la señal a enviar, aunque de forma predeterminada envían la señal 15 (SIGTERM, termina el proceso). Para obtener la lista completa de señales, se ejecuta **kill -l**. Para obtener información acerca de las señales, puede consultarse el manual, de la forma **man 7 signal**, así como leer el archivo **/ | ||
| ===== Trabajo con procesos ===== | ===== Trabajo con procesos ===== | ||
| + | ==== Iniciar un proceso. ==== | ||
| + | Para iniciar un proceso, basta con introducir en el terminal el comando correspondiente. Esto hará que el proceso se ejecute en primer plano.\\ | ||
| + | Si deseamos que el proceso se ejecute en segundo plano, y de esa forma no dejar sin uso el terminal, mientras éste se ejecuta, basta con introducir el carácter **&** al final de la línea del comando. Aparecerá entonces el PID de este proceso de forma informativa.\\ | ||
| + | |||
| + | ==== Detener un proceso ==== | ||
| + | En caso de que el proceso se ejecute en primer plano, hay tres maneras de pararlo: | ||
| + | * **ctrl + c**: Se envía la señal 2 (SIGINT, finalización del proceso por interrupción desde el teclado) al proceso. | ||
| + | * **ctrl + \**: Se envía la señal 3 (SIGQUIT, finalización del proceso, previo guardado del espacio de memoria en un archivo llamado //core// (útil para la depuración de aplicaciones). | ||
| + | * Identificar el PID del proceso en otro terminal, y usar el comando **kill** de forma adecuada. | ||
| + | |||
| + | En el caso de que el proceso se esté ejecutando en segundo plano, sólo puede detenerse identificando su PID y deteniéndolo a través del comando **kill**. | ||
| + | |||
| + | ==== Control de procesos ==== | ||
| + | Al ser posible ejecutar varios procesos desde el mismo terminal al mismo tiempo (ya que algunos pueden estar ejecutándose en segundo plano), son necesarios algunos comandos para controlarlos. | ||
| + | |||
| + | === jobs: lista de procesos === | ||
| + | El comando **jobs** lista la lista de procesos que han sido iniciados desde el terminal actual. | ||
| + | === bg y fg: toma de control de proceso === | ||
| + | Si un proceso largo se ha iniciado en primer plano por error, no es necesario interrumpirlo para iniciarlo en segundo plano.\\ | ||
| + | Hay que seguir estos pasos: | ||
| + | - **ctrl + z**: El proceso se suspende y el usuario puede tomar de nuevo el control del terminal. | ||
| + | - Se puede volver a ejecutar el proceso en primer plano con el comando **fg**, o en segundo plano con el comando **bg**. | ||
| + | - Para ello hay que introducir como argumento el número de //job// del proceso (entre corchetes, cuando se ejecutra el comando **jobs**) precedido por **%** (sin espacios). | ||
linux/administracionprocesos.1545391959.txt.gz · Última modificación: por alberto
