Sunteți pe pagina 1din 12

Gestin de procesos Gnu/Linux

Presentado a

Samir castao

Presentado por

Leonel Funieles Llanos

Jos Carlos Noble Ramos

Facultad de ingenieras

Programa de ingenieras de sistemas y telecomunicaciones

Universidad de Crdoba

Montera

2016
MANEJO DE GESTIN DE PROCESOS EN GNU/LINUX

Para empezar a hablar sobre la gestin de procesos en Gnu/Linux definiremos los que es la
gestin de un proceso, como primera parte gestin es administrar, dirigir y un proceso dentro de
los sistemas es una instancia de un programa en ejecucin, con estas definiciones podemos dar
una definicin de lo que es la gestin de procesos en los sistemas Gnu/Linux.

La gestin de procesos es la forma de monitorear, detener y cambiar de prioridad a los procesos


ejecutados en el SO, generalmente estas tareas las realiza el kernel o ncleo del sistema de
manera automtica, cada uno de estos procesos que son manejados por el kernel o ncleo
necesitan para realizar sus tareas algunos recursos como tiempo en la CPU, memoria, archivos y
dispositivos E/S estos procesos podramos decir de manera ms clara que son cualquier programa
que ejecutemos en nuestro SO, estos programas o procesos tienes ciertos parmetros que los
identifica y que son parte esencias de ellos para su gestin dentro del kernel a continuacin
conoceremos dichos parmetros .

PROCESS ID (PID): Cada proceso tiene un nmero asociado que se le asigna cuando es creado. Los
PIDs son nmeros enteros nicos para todos los procesos sistema.

USER ID & GROUP ID: Cada proceso tiene que tener asociado unos privilegios que limiten el
acceso al sistema de ficheros. Estos privilegios quedan determinados por el user ID y group ID del
usuario que creo el proceso.

PARENT PROCESS: Todo proceso es creado por otro proceso, el proceso padre (parent process). El
primer proceso iniciado por el kernel cuando el sistema arranca es el programa init. Este proceso
tiene el PID 1 y es el padre de todos los procesos del sistema.

PARENT PROCESS ID: El PID del proceso que inici el proceso hijo.

ENVIROMENT: Cada proceso mantiene una lista de variables y sus correspondientes valores. El
conjunto de estas variables recibe el nombre de process enviroment. Normalmente el entorno de
un proceso hijo se hereda del proceso padre a menos de que se indique de otra forma.

CURRENT WORKING DIRECTORY: Cada proceso tiene asociado un directorio por defecto, donde el
proceso leer/escribir archivos, a menos que se le especifique explcitamente lo contrario.

NICE NUMBER: Permite al usuario modificar la prioridad de ejecucin de un proceso.

Como ya sabemos que es un proceso y que es la gestin de procesos en Gnu/Linux y adems de


eso los parmetros que conforman a un proceso, podemos centrarnos en nuestro tema de
prioridad que este caso que es el directorio de almacenamiento de los procesos, que en los SO
Gnu/Linux es llamado /proc este es un directorio virtual; lo que nos quiere decir la palabra virtual
es que es un directorio abstracto ya que no est guardado en nuestro disco duro si no que es
creado en memoria por el kernel cada vez que el sistema arranque, cada proceso est guardado
en diferentes directorios mercados por su PID que los hace nicos y estos directorios estn
ubicados a su vez en el directorio /proc , este directorio podramos decir que es el espejo del
kernel ya que en el podemos ver lo que est pasando en l, en tiempo real, entonces si nuestro
kernel est trabajando eso quiere decir que hay procesos en ejecucin en el y por esta misma
razn por medio de este directorio es posible realizar la gestin de estos procesos.

A continuacin daremos una definicin de lo que son las archivos y directorios virtuales para dejar
ms claro el tipo de directorio que es el directorio de almacenamiento de procesos que por lo
dicho anteriormente es virtual, cuando se habla de virtual se quiere decir en este caso que existe
de manera aparente pero no es real, esto sucede con los archivos y directorios virtuales existen en
la medida que el SO arranque, este tipo de archivos no estn guardados en disco si no en la
memoria temporal de nuestra computadora que durante su funcionamiento dichos archivos y
directorios son creados para el intercambio de informacin y almacenamiento de la misma toda
esta informacin de los procesos en ejecucin la podemos ver simultnea al trabajo del kernel
como lo dijimos anteriormente teniendo en cuenta que esa informacin existir durante el tiempo
que el proceso se ejecute o que el SO est en funcionamiento ya que este tiempo de
funcionamiento es el mismo tiempo en el cual los archivos y directorios virtuales existen en el
sistema.

Dentro de toda esta temtica cabe resaltar que importante es saber cmo manipular los procesos
que se dan en nuestro ncleo o kernel, ahora pasaremos a mostrar los comandos utilizados en
esta tarea de manipulacin de procesos.

1. COMANDOS DE MONITORIZACIN DE PROCESOS


PS
Sintaxis: ps [opciones]
Muestra la lista de procesos del sistema, y algunas de sus caractersticas: Hora de
inicio, uso de memoria, estado de ejecucin, propietario y otros detalles.
Opciones:
-a Muestra los procesos creados por cualquier usuario y asociados a un terminal.
-l Formato largo. Muestra la prioridad, el PID del proceso padre entre otras
informaciones.
-u Formato de usuario. Incluye el usuario propietario del proceso y la hora de
inicio.
-U usr Lista los procesos creados por el usuario usr
-x Muestra los procesos que no estn asociados a ningn terminal del usuario. til
para ver los demonios (programas residentes) no iniciados desde el terminal.
PSTREE
Sintaxis: pstree [opciones] [PID | user]
Este comando muestra la jerarqua de los procesos mediante una estructura de
rbol.
Si se especifica el PID de un proceso, el rbol empezar desde ese proceso, de lo
contrario el rbol empezar por el proceso init (PID=1) y mostrar todos los
procesos del sistema. Si se especifica un usuario valido se mostrar la jerarqua de
todos los procesos del usuario.

Opciones:
-a Incluye en el rbol de procesos la lnea de comandos que se us para iniciar el
proceso.
-c Deshabilita la unin de procesos hijos con el mismo nombre (replicas de un
mismo proceso).
-G Usa los caracteres de lnea para dibujar el rbol. La representacin del rbol es
ms clara, pero no funciona al redireccionar la salida.
-h Remarca la jerarqua del proceso actual (normalmente el terminal). No funciona
al reedireccionar la salida.
-n Por defecto los procesos con mismo padre se ordenan por el nombre. Esta
opcin fuerza a ordenar los procesos por su PID.
-p Incluye el PID de los procesos en el rbol.
TOP
Sintaxis: top [opciones]
El comando top ofrece una lista de los procesos similar al comando ps, pero la
salida se actualiza continuamente. Es especialmente til cuando es necesario
observar el estado de uno o ms procesos o comprobar los recursos que
consumen.
Opciones:
-i Ignora los procesos inactivos, listando nicamente los que utilizan recursos del
sistema.
-d Especifica el ritmo de actualizacin de la pantalla en segundos. Es posible
especificar decimales.
Ordenes interactivas:
h Muestra una pantalla de ayuda.
q Sale del programa.
k Kill. Permite detener un proceso.
r Renice. Permite alterar la prioridad de un proceso.
2. ORDEN KILL A PROCESOS
KILL
Sintaxis: kill [-s sigspec | sigspec] [PID]
El comando kill permite enviar un mensaje arbitrario a un proceso, o varios, con
un PID igual a pids. El parmetro sigspec es el valor entero de la seal o el nombre
de la seal que enviaremos al proceso.
El valor de sigspec se puede especificar en minsculas o maysculas, pero
normalmente se especifica en maysculas. Para especificar el tipo de seal se
pueden usar s sigspec o simplemente sigspec. Si se omite sigspec en el comando
kill, se toma por defecto el valor SIGTERM (seal 15, salir de manera correcta).
El valor de pids tendremos que averiguarlos utilizando la orden ps.
KILLALL
Sintaxis: killall [-s sigspec | sigspec] nombre_proceso
Esta orden es ligeramente diferente a la orden kill por dos motivos; en primer
lugar utiliza el nombre de proceso en lugar del pid, adems le enva la seal a
todos los procesos que tengan el mismo nombre. Por lo dems, su
comportamiento es idntico, por lo que seran equivalentes:
$ kill -HUP 1 $ killall -HUP init
al haber un nico proceso init, con pid igual a 1.

3. CONTROL DE TRABAJOS DESDE EL TERMINAL


BG (BACKGROUND)
Sintaxis: bg [jobspec]
Mueve el trabajo jobspec a segundo plano, como si se hubiese iniciado con &. Si el
trabajo especificado est detenido, el comando bg lo reiniciar en segundo plano.
FG (FOREGROUND)
Sintaxis: fg [jobspec]
Se utiliza para traer a primer plano un trabajo que est en segundo plano, bien
est activo o bien est detenido.
JOBS
Sintaxis: jobs [opciones] [jobspec]
Lista todas las tareas activas. Si se incluye jobspec nicamente listar la
informacin sobre esas tareas.
Con la orden jobs podemos obtener una lista de los trabajos que hemos lanzado
en el sistema. La orden jobs se utiliza como:
Opciones:
-l Lista los PID de las tareas.
NOHUP
Sintaxis: nohup orden [argumentos]
La orden nohup lanza un proceso y lo independiza del terminal que estamos
usando. Los procesos se organizan de forma jerrquica, de forma que si
abandonamos la shell que nos conect al sistema (abandonamos la sesin de
trabajo) automticamente se matarn todos los procesos que dependan de ella.
Pero en muchas ocasiones no puede interesar lanzar un proceso y dejarlo en
ejecucin aun cuando hayamos cerrado la sesin de trabajo. Para esto se usa la
orden nohup.
4. PRIORIDAD EN LOS PROCESOS
La prioridad de un proceso puede determinarse examinando la columna PRI en los
resultados de los comandos top y ps l. Los valores mostrados son relativos,
cuanto mayor es el PRI, mayor es el tiempo de CPU dedicado por el kernel a ese
proceso.
NICE
Sintaxis: nice [-n nicenumber] command
nice [-nicenumber] command
El comando nice se usa para iniciar un proceso y proporcionarle un determinado
valor al parmetro nice. Para los usuarios normales nicenumber es un entero
comprendido entre 1 y 19. Para el usuario root, nicenumber tambin puede tomar
valores negativos (y as incrementar la prioridad de un proceso) y los valores
permitidos estn comprendidos entre -20 y 19. command es cualquier orden
valida del intrprete de comandos, incluyendo opciones, argumentos,
redireccionamientos y el carcter especial &.
RENICE
Sintaxis: renice [+|- nicenumber] [options] targets
Este comando permite modificar el parmetro nice de un proceso ya iniciado.
Opciones:
-u Interpreta targets como un nombre de usuario. Cambia el parmetro nice a
todos los procesos propietarios del usuario especificado.
-p Interpreta targets como un PID (comportamiento por defecto).

En la monitorizacin de procesos nos encontramos con dos comandos que son muy importantes a
la hora de entender como estn funcionando nuestros procesos, estos dos monitores son el htop
y el atop.

COMANDO HTOP:

El htop es un monitor de procesos que nos deja ver cuantos procesos tenemos en nuestro
sistema, adems nos da todas las opciones habituales a la hora de trabajar en la gestin de
procesos del sistema. Htop nos muestra todas las caractersticas de todos y cada uno de los
procesos que se encuentran vigentes en nuestro sistema.

Para poder usar este comando tenemos que instalarlo ya que no viene por defecto en ninguno de
los sistemas de la distribucin deban, para esto utilizaremos el siguiente comando.

Al ingresar este comando nos pedir que insertemos nuestra contrasea de sper usuario, la
digitamos y empezara la instalacin del htop, cuando termine la instalacin ya podremos ejecutar
nuestro monitor de procesos htop.

Para ejecutar el monitor de procesos htop solo ejecutamos el siguiente comando.


Al ejecutar el comando anterior nos aparecer la siguiente ventana en la cual especificaremos
cada una de sus partes.

Parte superior:
En la parte izquierda encontramos los nmeros 1, 2, 3 y 4 lo que corresponde a los diferentes
ncleos de nuestra CPU y en frente de cada uno podemos ver el uso que est recibiendo cada uno
de ellos.

Tambin podemos ver el uso de la memoria RAM y el uso de la memoria de intercambio SWAP.

A la derecha podemos ver la cantidad de procesos corriendo en nuestro sistema, seguido de la


cantidad de hilos (threats) que se estn ejecutando, el promedio de carga y el tiempo que lleva
encendido el sistema.

Parte intermedia:

Podemos observar que hay 12 columnas las cuales nos dan informacin acerca de cada uno de los
procesos:

PID: es el identificador del proceso, este nmero es nico para cada proceso no existen dos
procesos con el mismo PID.

USER: nos muestra que usuario ejecuto el proceso.

PRI: es la prioridad de cada proceso ante los dems al momento de su ejecucin.

NI: es el valor nice del proceso, lo que afecta a su prioridad.

VIRT: indica la cantidad de memoria SWAP utilizada por el proceso.

RES: indica la cantidad de memoria RAM utilizada por el proceso.

SHR: indica la cantidad de memoria compartida utilizada por el proceso.

S: indica el estado de un proceso (running (R) : Procesos que estn en ejecucin, sleeping (S) :
Procesos que estn esperando su turno para ejecutarse, zombie (Z) : Procesos que han terminado
pero que siguen apareciendo en la tabla de procesos).

CPU%: indica el porcentaje de CPU que est utilizando un proceso.

MEM%: indica el porcentaje de memoria RAM utilizada por un proceso.

TIME+: indica el tiempo de vida de un proceso.


COMMAND: muestra el comando utilizado para lanzar el proceso

Parte inferior:

Es esta seccin nos encontramos con 10 opciones que nos brinda htop para interactuar con los
procesos de nuestro sistema.

F1Help: nos muestra la ayuda que nos ofrece el monitor de procesos htop.

F2Setup: nos muestra las diferentes configuraciones que podemos realizar en nuestro monitor de
proceso, por ejemplo cambiar lo que se quiere mostrar, de qu forma y con qu colores.

F3Search: esta opcin nos sirve para buscar un proceso especfico.

F4Filter: sirve para cambiar la opcin de filtrado, es muy til cuando buscamos un grupo de
procesos especficos.

F5Tree: organiza los proceso en forma de rbol ya que aunque cada proceso es independiente
existen proceso que se generan por parte de otro proceso los cuales son llamados procesos hijos y
los que los generan son llamados procesos padres.

F6SortBy: nos sirve para cambiar la columna por la cual se ordenan los procesos.

F7Nice-: nos sirve para disminuir la prioridad de atencin que tiene un proceso.

F8Nice+: nos sirve para aumentar la prioridad de atencin que tiene un proceso.

F9Kill: esta opcin es para matar el proceso que se haya seleccionado.

F10Quit: esta opcin es para salir de htop.

COMANDO ATOP: atop es un monitor que es capaz de dar informacin acerca de todos los
procesos del sistema aun cuando estos terminen su proceso en el intervalo de tiempo en el que
tomo el registro este intervalo viene por defecto en 10 segundos por lo tanto cada 10 segundos
tendremos una nueva muestra, lo que hace atop es que toma una muestra del consumo de
recursos del sistema y de los procesos que se encuentran en el sistema en un intervalo de tiempo
y lo muestra por pantalla.

Para instalar este monitor de procesos ejecutamos el siguiente comando.


Cuando ejecutemos este comando nos pedir que ingresemos la contrasea de sper usuario, al
hacerlo en programa empezara a descargarse y se instalara.

Cuando ya est instalado podremos ejecutarlo tan solo con escribir atop en nuestra terminal y
presionar enter.

Al ejecutar este comando se inicia la contabilidad de procesos en el ncleo lo cual permite que el
ncleo enve informacin cada vez que termina un proceso, adems nos aparecer la siguiente
ventana donde atop nos muestra la informacin detallada de cada uno de los procesos.

Estando dentro del atop podemos interactuar con los procesos mediante el teclado.

k: al presionar esta tecla el atop nos pide el PID de proceso que queremos matar.

x: al presionar esta tecla suprimimos o activamos el uso de colores de atop.


z: al presionar esta tecla pausamos la salida de atop, esta opcin es muy til ya que asi podemos
analizar detenidamente los datos de cada proceso.

i: al presionar esta tecla se modifica el temporizador de intervalo de tiempo de las muestras.

t: al presionar esta tela obtenemos una muestra manual de atop.

q: no permite salir de atop.

Tambin es posible visualizar los procesos de atop ordenados de diferentes formas y mostrando
solo algunas de sus caractersticas ejecutando en la terminal alguno de los siguientes comandos.

atop a: nos muestra solo los procesos que se encuentren procesos activos.

atop c: nos mostrara solo el PID del proceso seguido del uso de CPU y el comando con el cuan se
puso en marcha este proceso.

atop m: nos muestra los procesos ordenados por consumo de memoria.

atop -d: nos muestra los procesos ordenados por consumo de disco.

atop -u: nos muestra la cantidad de procesos que est ejecutando cada uno de los usuarios del
sistema.

Estos son solo algunos de los comandos ms importantes a la hora de monitorear procesos con
atop, para mayor informacin podemos ejecutar el comando (man atop) y nos aparecer una
descripcin de atop y las diferentes formas de interactuar con este monitor de procesos

REFERENCIAS

James, H. (13 de 08 de 2014). Hayden James Linux Systems Analyst | DBA. Recuperado el
25 de 04 de 2016, de http://haydenjames.io/use-atop-linux-server-performance-analysis/

lara, e. (s.f.). Departament d'Arquitectura de Computadors. Recuperado el 25 de 04 de


2016, de http://personals.ac.upc.edu/elara/documentacion/LINUX%20-%20UD7%20-
%20Gestion%20de%20Procesos.pdf

Moreno,M,M.(s.f).sistemas operativos.:[ Archivos reales y


virtuales].http://sistemasoperativos.angelfire.com/html/5.2.html

Morales, F. R. (09 de 01 de 2014). Recursos de Administracin de Sistemas de Fran Ruiz.


Recuperado el 24 de 04 de 2016, de
http://asofranruiz.blogspot.com.co/2014/01/comando-top-y-htop.html

Robert. (17 de 01 de 2012). LA VIDA ES TUX. Recuperado el 24 de 04 de 2016, de


https://lavidaestux.wordpress.com/2012/01/17/procesos-zombie-en-linux-ubuntu/

Serrano, A. G. (10 de 03 de 2014). El laberinto de falken. Recuperado el 25 de 04 de 2016,


de http://www.ellaberintodefalken.com/2014/03/proc-procfs-modulo-kernel-linux.html
Todorov, M. (24 de 04 de 2015). Tecmint.com. Recuperado el 25 de 04 de 2016, de
http://www.tecmint.com/how-to-install-atop-to-monitor-logging-activity-of-linux-system-
processes/

Txels. (19 de 04 de 2016). Lost in the net. Recuperado el 24 de 04 de 2016, de


http://www.lostinth3net.com/2016/04/google-power-como-encontrar-la-aguja-en-el-
pajar/

sistemas de archivos virtuales.( 21 feb 2016).wikipedia:[sistemas de archivos virtuales].


https://es.wikipedia.org/wiki/Sistema_de_archivos_virtual

S-ar putea să vă placă și