Procesos

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
Línea 13: Línea 13:
 
::* “T”: proceso que ha sido detenido por el usuario o el sistema.
 
::* “T”: proceso que ha sido detenido por el usuario o el sistema.
 
::* “Z”: proceso zombie. Este estado indica que el proceso ha tenido algún fallo y no funciona correctamente. Generalmente es mejor eliminar este tipo de procesos.
 
::* “Z”: proceso zombie. Este estado indica que el proceso ha tenido algún fallo y no funciona correctamente. Generalmente es mejor eliminar este tipo de procesos.
 +
:Otro comando muy útil es el '''top''', o mejor aún, '''htop''', que nos informa de forma interactiva de los procesos del sistema, del estado de utilización de la CPU, la memoria utilizada y libre, la RAM que utiliza cada proceso, etc.Este programa es muy indicado cuando el sistema no responde adecuadamente o notamos alguna disfunción extraña, ya que nos permite localizar rápidamente qué proceso está afectando negativamente al rendimiento del sistema.
 +
:Como vemos, el sistema nos informa sobre todos los aspectos posibles de los procesos del sistema. Además de esto, podemos enviar ciertas señales a los procesos para informarles de algún evento, podemos sacarlos de la cola de ejecución, eliminarlos, darles más prioridad, etc. Saber manipular también es muy importante, ya que nos permitirá utilizar nuestro ordenador de forma más eficiente. Por ejemplo, si somos administradores de un centro de cálculo donde la mayoría de aplicaciones que se ejecutan necesitan mucho tiempo de CPU, podríamos configurar      el sistema para hacer que los más urgentes se ejecuten con más prioridad que otros y acaben primero. El comando kill nos permite  enviar señales a los procesos que nos interese. En general, todos los programas se diseñan para que puedan recibir este tipo de señales. De este modo, según el tipo de señal recibido saben que deben realizar unas operaciones u otras. Hay muchos tipos diferentes de señales, que podemos ver en el manual de kill, aunque las más utilizadas son las que nos sirven para obligar a un proceso a que termine o pause su ejecución. Con la señal TERM (“kill -15 PID”),  le indicamos al proceso que queremos que termine, de modo que al recibir la señal deberá guardar todo lo necesario y acabar su ejecución. Si hay algún tipo de problema o el programa no está preparado para recibir este tipo de señal, podemos utilizar KILL (“kill -
 +
                                                               
 +
 +
                                                                     
 +
 +
   
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
                                                                     
 +
 +
                                                                     
 +
dores de un centro de cálculo donde la mayoría de aplicaciones que   
 +
se ejecutan necesitan mucho tiempo de CPU, podríamos configurar        do trap.
 +
el sistema para hacer que los más urgentes se ejecuten con más prio-
 +
ridad que otros y acaben primero.

Revisión de 18:39 11 mayo 2007

El hecho de que el sistema operativo sea multitarea implica que podemos lanzar más de un programa a la vez. Un proceso no es más que un programa o aplicación que se encuentra cargado en la memoria y en proceso de ejecución.
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 realizando sus operaciones, dando la sensación de que se es tán ejecutando todos a la vez.
Para identificar de forma inequívoca cada proceso, el núcleo del sistema les asigna un número llamado PID (Process IDentification)
Aunque podríamos pensar que con solo el nombre ya los podríamos referenciar, es imprescindible disponer de este número porque podemos ejecutar un mismo programa tantas veces como queramos, al mismo tiempo que se ejecutan diferentes instancias del mismo.
Para saber qué procesos se están ejecutando, podemos utilizar el comando ps. Para explorar un poco más todo este mecanismo de procesos, explicaremos con más detalle algunos de los parámetros que le podemos pasar a este comando:
  • “T”: esta opción viene por defecto y nos indica que sólo se mostrarán los procesos que se están ejecutando en el terminal dónde nos encontramos o que se hayan lanzando a partir de él.
  • “-a”: nos muestra los procesos de todos los terminales del sistema
  • “-A”: nos muestra todos los procesos del sistema. Si ejecutamos el comando, veremos que, aparte de los programas que los usuarios ejecutan, hay otros. Muchos de ellos ejecutan las funciones necesarias para que el operativo funcione correctamente, otros son los servidores de aplicaciones configurados, etc.
  • “-l”: enseña información extendida para cada proceso, como el tiempo de CPU que ha utilizado, el terminal donde se ejecuta, etc.En la segunda columna también podemos ver el estado del proceso. Aunque el sistema tenga muchos procesos ejecutándose en un mismo instante de tiempo, ello no implica que todos necesiten tiempo de CPU constantemente. Por ejemplo, cuando un servidor de páginas web no tiene ninguna petición, no es necesario que haga absolutamente ninguna operación. Aunque esté en memoria preparado para ejecutarse al recibir una petición, es mejor que no pase en ningún momento por la CPU, ya que ésta puede utilizarse para otros procesos que sí que la necesitan. Internamente, el sistema operativo tiene implementados una serie de meca nismos muy eficaces para gestionar toda esta clase de operaciones. De este modo, un proceso puede estar en los siguientes estados (mostrados con el carácter correspondiente):
  • “D”: proceso ininterrumpible. Este tipo de proceso generalmente suele pertenecer a la entrada/salida de algún dispositivo que se dañaría si dejara de ser atendido.
  • “R”: proceso que en el momento de ejecutar el comando también se está ejecutando, o sea, todos aquellos que están en cola de ejecución. La cola de ejecución de procesos es donde se ponen todos aquellos que se van repartiendo el tiempo de la CPU.
  • “S”: proceso dormido o esperando que ocurra algún tipo de evento para que el sistema lo despierte y lo ponga en la cola de ejecución.
  • “T”: proceso que ha sido detenido por el usuario o el sistema.
  • “Z”: proceso zombie. Este estado indica que el proceso ha tenido algún fallo y no funciona correctamente. Generalmente es mejor eliminar este tipo de procesos.
Otro comando muy útil es el top, o mejor aún, htop, que nos informa de forma interactiva de los procesos del sistema, del estado de utilización de la CPU, la memoria utilizada y libre, la RAM que utiliza cada proceso, etc.Este programa es muy indicado cuando el sistema no responde adecuadamente o notamos alguna disfunción extraña, ya que nos permite localizar rápidamente qué proceso está afectando negativamente al rendimiento del sistema.
Como vemos, el sistema nos informa sobre todos los aspectos posibles de los procesos del sistema. Además de esto, podemos enviar ciertas señales a los procesos para informarles de algún evento, podemos sacarlos de la cola de ejecución, eliminarlos, darles más prioridad, etc. Saber manipular también es muy importante, ya que nos permitirá utilizar nuestro ordenador de forma más eficiente. Por ejemplo, si somos administradores de un centro de cálculo donde la mayoría de aplicaciones que se ejecutan necesitan mucho tiempo de CPU, podríamos configurar el sistema para hacer que los más urgentes se ejecuten con más prioridad que otros y acaben primero. El comando kill nos permite enviar señales a los procesos que nos interese. En general, todos los programas se diseñan para que puedan recibir este tipo de señales. De este modo, según el tipo de señal recibido saben que deben realizar unas operaciones u otras. Hay muchos tipos diferentes de señales, que podemos ver en el manual de kill, aunque las más utilizadas son las que nos sirven para obligar a un proceso a que termine o pause su ejecución. Con la señal TERM (“kill -15 PID”), le indicamos al proceso que queremos que termine, de modo que al recibir la señal deberá guardar todo lo necesario y acabar su ejecución. Si hay algún tipo de problema o el programa no está preparado para recibir este tipo de señal, podemos utilizar KILL (“kill -














dores de un centro de cálculo donde la mayoría de aplicaciones que se ejecutan necesitan mucho tiempo de CPU, podríamos configurar do trap. el sistema para hacer que los más urgentes se ejecuten con más prio- ridad que otros y acaben primero.

Herramientas personales