jueves, 20 de septiembre de 2007

Procesos

Fuente: TuxApuntes

Un proceso es un programa o servicio normalmente en estado de ejecución o que esta siendo utilizado por Ubuntu. Por ejemplo, si estas navegando con Firefox, tendrás un proceso en ejecución en el mismo momento en tu sistema.

Mostrando los procesos

Para ver los procesos y sus estados existen diversas aplicaciones.

  • Con interface gráfica: gnome-system-monitor

Es una utilidad de gnome que muestra los procesos y permite monitorizar el estado del sistema. Para ejecutar la aplicación hay que ir a Sistema -> Administración -> Monitor del sistema o basta con introducir en el terminal:

$ sudo gnome-system-monitor
  • En consola o Terminal: top

Es el equivalente al Monitor del sistema en la línea de comandos. Muestra una lista de procesos que se pueden ordenar de diferentes formas.

$ sudo top

Permite realizar diferentes acciones sobre cada uno de ellos como matarlo o cambiar su prioridad. Para más información leer la página del manual de top.

  • En consola o Terminal: ps

El comando ps es el mejor modo de mostrar los procesos que se encuentran activos. Para ver todos los procesos activos con todos los detalles basta con abrir un terminal y teclear:

$ sudo ps -AF

Esto mostrará un listado con la siguiente información:

UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD

Finalizar un proceso

Imagen:Nota advertencia.png Finalizar un proceso activo puede llevar a pérdidas de información y/o a la inestabilidad del sistema si no se conoce el proceso que se finaliza.

Utilizando el monitor del sistema.

Para abrir el monitor del sistema puedes acceder directamente desde los menús (Sistema -> Preferencias -> Monitor del sistema) o escribir en el terminal:

$ gnome-system-monitor

Basta con seleccionar el proceso a finalizar y presionar el botón: finalizar proceso

Fig.1 Monitor del sistema (pestaña Servicios)
Aumentar
Fig.1 Monitor del sistema (pestaña Servicios)

En consola o Terminal utilizando el comando kill y killall.

Para finalizar un proceso mediante la consola, es preciso conocer el número de identificación del proceso (PID). Para conocer el número basta con:

1. Listar los procesos:

$ sudo ps -AL

2. Buscar el proceso a finalizar y memorizar el número de la columna PID.

Una vez conocido el PID basta con ejecutar en un terminal:

$ sudo kill [PID]

Es conveniente comprobar que el proceso ha finalizado y ya no se encuentra en ejecución.

Puede suceder en ocasiones que algún proceso no finalice luego de haber ejecutado kill. En estos casos se puede intentar finalizarlos con el comando kill y una señal "mas fuerte" que fuerza a los procesos a terminar mas allá de su voluntad:

$ sudo kill -9 [PID]

Suele ocurrir que al listar los procesos activos el que se desea finalizar tiene distintas instancias abiertas, es decir, dispone de varias PID y para finalizarlo se necesitaría utilizar varias veces el comando kill. El comando killall se utiliza para finalizar todos los procesos que abre un comando. Como se puede suponer, al disponer de distintas PID no es ésta la que se le debe indicar al comando killall sino el nombre del proceso. Este nombre viene dado en el listado de procesos como CMD; entonces:

$ sudo killall [CMD]

Mediante el comando xkill.

El comando xkill es una utilidad para forzar el Servidor X a cerrar conexiones. Este comando se puede utilizar como el comando kill:

$ sudo xkill -id  [PID]

La ventaja de este comando es que se puede utilizar sin necesidad de PID, ya que si se introduce en el terminal:

$ xkill

El cursor se cambiará a una calavera y la aplicación matará (finalizará) el proceso que controle la ventana donde se haga click con la calavera.

El concepto "carga promedio del sistema" (Load Average)

La carga promedio del sistema es la media de trabajos en cola durante un tiempo determinado. En Linux estos tiempos son 1, 5 y 15 minutos. En otras palabras, la carga promedio del sistema para un minuto N es el número de procesos compitiendo por el uso de la CPU en un momento dado, promediada sobre los N minutos.

La carga promedio mínima de un sistema es de 0 y la máxima es ilimitada, aunque raramente excede de 20, e incluso más de 10 es poco usual. Sin embargo he administrado sistemas en los que algún proceso se ha ido demasiado, ¡llegando a una carga promedio de 80! Una carga promedio de 1 ó 2 es lo típico. Menor de 1 es lo ideal.

Para ver la carga promedio de nuestro sistema podemos usar el comando top:

$ top

Que muestra algo similar a ésto (al final de la primera línea se ven los tres números de la carga promedio):

top - 11:11:42 up  2:22,  5 users,  load average: 0.08, 0.36, 0.61
Tasks: 128 total, 1 running, 127 sleeping, 0 stopped, 0 zombie
Cpu(s): 15.2% us, 0.7% sy, 0.0% ni, 83.8% id, 0.0% wa, 0.3% hi, 0.0% si
Mem: 515744k total, 463016k used, 52728k free, 13012k buffers
Swap: 979956k total, 13292k used, 966664k free, 119344k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11434 perico 15 0 32248 13m 8800 S 13.9 2.7 0:12.16 gnome-terminal
7122 root 15 0 62564 48m 9516 S 1.3 9.6 11:13.49 Xorg
15542 perico 16 0 2132 1116 844 R 0.7 0.2 0:00.04 top
1 root 16 0 1564 532 460 S 0.0 0.1 0:01.50 init
2 root 34 19 0 0 0 S 0.0 0.0 0:00.01 ksoftirqd/0
3 root 10 -5 0 0 0 S 0.0 0.0 0:00.20 events/0
4 root 10 -5 0 0 0 S 0.0 0.0 0:00.02 khelper

1 comentario:

Anónimo dijo...

http://www.tuxapuntes.com/tux/content/view/368/86/

Cuando hagas un artìculo trata de dar la referencia. Aunque en este caso es una copia fiel del link.
SLDS