¿Qué son los Procesos en Linux?

Un “Proceso” en Linux es un programa que se esta ejecutando en un determinado momento en el sistema. En el Sistema Operativo Linux siempre hay una serie de procesos que se esta ejecutando sin que el usuario se de cuenta de ello y éstos hacen que el Sistema sea utilizable.

El primer proceso en ejecutase es el Proceso init. El Proceso init es el responsable de la inicialización de nuevos procesos; o dicho de otra forma, todos los procesos en el sistema, excepto el proceso swapper, descienden del proceso init.El proceso init es un proceso dispatcher (despachador) y produce, entre otros, los procesos para que los usuarios puedan conectarse al sistema. Normalmente ejecuta la secuencia de órdenes del script /etc/rc.boot para comprobar los sistemas de archivos y posteriormente ejecuta las órdenes del etc/rc y /etc/rc.local para comenzar las operaciones de multiusuario; en otro caso, se comenzaría en modo monousuario.

En operaciones de multiusuario, el papel de init es crear un proceso por cada puerto del terminal en el cuál un usuario pueda conectarse. Para iniciar estas operaciones, lee el archivo /etc/ttytab y ejecuta, normalmente, la orden /usr/etc/getty por cada terminal especificado en el archivo que tenga el campo de status a on. getty abre e inicializa la línea del terminal y ejecuta la orden login para permitir la conexión de usuarios.

En Linux, los Procesos se manejan en forma jerárquica: cada proceso es lanzado desde un proceso “padre”: dicho proceso se le llama proceso “hijo”. Entonces podremos deducir que todos los procesos son hijos del proceso padre por excelencia: el proceso init.

Hay dos tipos de procesos: los de usuario y los demonios.

Los Procesos de Usuario: son aquello procesos que el usuario utiliza.

Los Demonios: son aquellos procesos que para su funcionamiento, no requiere de la intervención del usuario y en general se usan para programas que funcionan constantemente como servidores de red, programas administrativos, etc.

En la jerga del mundo de Linux, se habla que los procesos están vivos o están muertos, son lanzados o pueden ser matados.

Con el comando “ps” lista los procesos activos. Cuando se ejecuta sin especificar ninguna opción muestra un listado de aplicaciones corriendo en la shell actual.
Para listar todos los procesos que se están ejecutando como usuario hay que especificar la opción:ps ax

PID: es el número de identificación del proceso, es generado aleatoriamente y nos sirve para cuando queremos matar un proceso. Por ejemplo cuando se cuelga algún programa.

TTY: indica la terminal en el cual esta funcionando el proceso.

STAT: muestra el estado del proceso, con algún de los siguientes estados:
* S: sleeping (durmiendo), es decir, el programa no tiene nada que hacer en este momento.
* R: running (o ejecutando).
* D: El proceso está muerto y no puede ser rearrancado.
* Z: Zombie: el proceso se ha comple pero no ha pasado correcta mente su estado de devolución.

TIME: nos indica la cantidad de tiempo que el proceso ha consumido para ser lanzado.

COMMAND: nos dice que comando fue utilizado para ejecutar dicho proceso.
Cuando un programa se nos cuelta ( a mi me pasa con el FireFox :S), podemos matarlo y para ello necesitamos dos cosas: utilizar el comando “kill” y el número PID correspondiente al proceso del programa en cuestión.

kill 4200: Este comando enviará una señal 15, que es la terminación por sofware y el programa se cerrará automáticamente. Pero a veces esto es ignorado por algunos procesos y no se cerrarán, nos queda enviándole una señal 9, que es la señal de eliminación ” a toda costa”. Para ello se usa el comando kill de la siguiente forma:
kill -9 (PID)
kill -9 4200

Muchas veces me ha pasado que estando jugando con un juego a pantalla completa y este se colgo. ¿Qué hago?. La respuesta es simple: pulsamos lo siguiente Control + Alt + F7.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *