2.8.- Procesos en primer y segundo plano

terminal-comandosUno de los temas básicos de la administración de procesos es la de controlar si el proceso se ejecuta en primer o segundo plano, es decir, si está monopolizando el uso del terminal desde el que se inició. Normalmente, cuando inicia un programa, éste toma el control del terminal, impidiéndole realizar otras tareas (aunque algunos programas liberan el terminal. Esto es más frecuente en los servidores y algunos programas GUI).

Si usamos un terminal para ejecutar un programa, normalmente, basta pulsar Control-Z para pausar el programa y tomar el control del terminar (un detalle importante es que este procedimiento suspende el programa, deteniendo también, la tarea que este realice). Esto nos resulta útil si, por ejemplo, ejecuta un editor de texto en un acceso de modo texto y desea comprobar un nombre de fichero para poder mencionarlo en el fichero que está editando. Pulse Control-Z y escriba ls para obtener el listado de ficheros. Luego escriba fg para volver al editor de texto, lo que devolverá el editor de texto al primer plano de su terminal.

procesos_1jobs_procesos

Si ha suspendido varios procesos, añada un número de tarea como, por ejemplo fg 2 para hacer que la tarea 2 vuelva a la normalidad. Puede obtener una lista de tareas asociadas a un terminal escribiendo jobs, que muestra las tareas y sus números de tarea.

jobs_procesos2Una variante de fg es bg. Mientras que fg reanuda una tarea en primer plano, bg devuelve una tarea a un estado de ejecución, pero en segundo plano. Podemos utilizar este comando si queremos utilizar el terminal mientras se ejecuta un proceso cuya tarea hace uso intensivo de la CPU que no requiere la interacción humana. bg tiene otro uso en los entornos GUI; tras iniciar un programa GUI desde un xterm o una ventana similar, dicha consola estará bloqueada sirviendo el programa GUI, el cual es probable que no necesite realmente la consola. Si pulsa Control-Z en la ventana xterm, podrá escribir de nuevo comandos de consola, pero el programa GUI se detendrá totalmente.

Para poder desbloquear éste, escriba bg en la consola, lo que permitirá al programa ejecutarse en segundo plano mientras la consola sigue procesando sus comandos.

Comenzando-con-Linux-IV.-Los-procesos-de-usuarioPara iniciar un programa de una manera alternativa utilizando Control-Z y escribiendo bg para ejecutar un programa en segundo plano, puede añadirse un ampersand (&) al comando al iniciar  el programa. Por ejemplo, en lugar de editar un fichero con el editor NEdit GUI escribiendo nedit miarchivo.txt, podemos escribir nedit miarchivo.txt &. Este comando inicia el programa nedit en segundo plano desde el principio, permitiéndole tener el control de su ventana xterm para otras tareas.

Anuncios