RecursosFormacion
Suscribir por RSS
Bienvenido Invitado.
Para poder utilizar todos nuestros recursos,
Registrate o Identificate
En este momento hay:
  •  11 Invitados
  •  37 Particulares
  •  25 Alúmnos
  •  10 Formadores
  •   1 Colaborador
cargando...

 

Linux->Linux Basico->Los procesos

Presentacion

Si tenemos que definir los procesos, podríamos hacerlo así:

Un proceso es cada una de las instancias de un programa que se están ejecutando en un momento dado. Aunque nuestro ordenador sólo disponga de una CPU, el sistema operativo se encarga de repartir el tiempo de procesamiento de la misma para que varios procesos puedan ir ejecutando sus operaciones, dando la sensación de una ejecución paralela.

Hemos comentado antes que Linux es un sistema multiusuario y multitarea, por lo que en cualquier momento, en la máquina podrán estar corriendo “n” procesos de “n” usuarios distintos

El kernel de Linux, mantiene una tabla interna, conocida como tabla de procesos en la que mantiene información acerca de todos los procesos que están corriendo.

Vamos a aprovechar una variable de la shell ($$) que muestra el identificador de proceso (PID) de la shell, y con el comando echo $$ vamos a visualizarlo

$ echo $$

nos responderá con un numero que es el PID del proceso de esta shell

Los procesos en GNU/Linux están organizados de forma jerárquica, cada proceso es lanzado por un proceso padre y es denominado proceso hijo. De está forma, todos los procesos en GNU/Linux son hijos de init (PID=1)ya que este es el primer proceso que se ejecuta al iniciar el ordenador y init es padre de todos los procesos. Si se mata al proceso padre, también desaparecerán los procesos hijos.

Básicamente, hay dos tipos de procesos:

  • - Los procesos de usuario son los programas que utiliza el usuario generalmente y se encuentran conectados a una terminal. El programa aparecerá el pantalla y interactuara con el usuario
  • - Los demonios por contra, no están conectados a una terminal, funcionan solos y no interactúan con el usuario.

Un proceso se iniciará cuando el sistema o el usuario lo llame, y estará corriendo hasta que el programa decida finalizar por haber acabado su trabajo, el usuario le ordene terminar, u otro proceso le envíe la señal correspondiente de finalización

Desde el primer momento que un usuario se identifica ante un sistema Linux, se inicia el proceso de la shell que sera el padre de todos los procesos que el usuario vaya lanzando. Esta shell posee un entorno en donde se establecen las variable como el PATH, el UID, el GID, y todas aquellas que se vayan definiendo.

Cuando un usuario lanza un proceso, este adquiere los permisos correspondientes al usuario que lo ha lanzado, y sus variables de entorno, le sera asignado un PID y tendrá como PPID el correspondiente al shell que lo lanzó. Con todo esto, sera mas fácil identificar cada columna de la tabla de proceso

Cuando queremos ver una lista de los procesos en ejecución, podemos utilizar el comando ps

$ ps aux

 psaux Empezando con linux. Los Procesos

- USER: usuario que lanzo el proceso

- PID: Numero ID del proceso en cuestión. Este numero es necesario para matar luego al proceso

- %CPU Tiempo de cpu utilizado por el proceso en tanto por ciento sobre el total

- %MEM Memoria asignada al proceso en tanto por ciento sobre el total

- VSZ (Virtual Memory Size) Evaluación del tamaño de la memoria virtual que puede consumir

- RSS (Resident Set Size) Tamaño de memoria virtual en uso por este proceso

- TTY: Esta columna muestra en que terminal se está ejecutando el proceso, si aparece con un ? significa que es un demonio (todos los procesos listados en la imagen son demonios, para los más observadores se habrán dado cuenta de que hay más procesos en ejecución, solo que no me entran en una imagen)

- STAT: Está columna muestra el estado del proceso

- START: Hora de inicio del proceso

- TIME: Está columna muestra el tiempo que ha consumido el proceso para ser lanzado, es decir, el tiempo que ha estado activo.

- COMMAND: Está columna muestra el comando que fue necesario para invocar al proceso en cuestión

El comando que hemos utilizado para la visualización a empleado las opciones

a Todos los procesos de un terminal
x todos los procesos
u información ampliada (orientada al usuario)

160
2013-09-22 22:00:00
procesos linux, comando ps