sábado, 24 de octubre de 2009

Gestion de Procesos!!

jaja bueno a las 1500 pero aqui esta lo que se vio en la secion "Gestion de procesos"


un proceso se define como un programa en ejecucion.
Proceso-----> programa en ejcucion.


Este programa a su vez puede crear a su vez otros procesos...
Proceso Padre---->Proceso hijo.


Ejemplo:
El terminal o consola es un proceso, ya que se trata de un programa que ejecutamos. Si en el terminal escribimos, por ejemplo, el comando “ls -l”, se estaría generando un nuevo proceso que sería proceso hijo del terminal. En este caso el shell sería el proceso padre y el comando “ls -l” sería el proceso hijo.
___________________________________________________________

El comando "ps"

El comando ps proporciona información sobre los procesos que se están ejecutando en el sistema. Si escribimos en el terminal “ps”, obtendremos como salida un listado de los procesos lanzados con el usuario actual que aún se están ejecutando, al ejecutar "ps" se muestran 4 columnas.





-La primera columna es el PID o identificador de proceso. Cada proceso tiene un asociado identificador que es único, es decir que no puede haber dos procesos con el mismo identificador.
-La segunda columna nos informa del terminal en el que se está ejecutando el proceso. Si aparece una interrogación (?), el proceso no tiene asociada ninguna terminal.
-La tercera columna indica el tiempo total que ha estado ejecutándose el proceso.
-La cuarta columna es el nombre del proceso

_________________________________________________________

Comando "pstree"


El comando pstree visualiza, en forma de árbol, todos los procesos del sistema. Así podemos ver las relaciones que existen entre los procesos.

_________________________________________________________

Comando "top"


El comando top devuelve un listado de los procesos de forma parecida a como lo hace ps, con la diferencia que la información mostrada se va actualizando periódicamente lo que nos permite ver la evolución del estado de los procesos. Además, en la parte superior muestra información adicional, como el espacio en memoria ocupado por los procesos, el espacio ocupado por la memoria de intercambio o swap, el número total de tareas o procesos que se están ejecutando, el número de usuarios o el porcentaje de uso del procesador.

_________________________________________________________

Procesos en primer plano y segundo plano



Los procesos pueden ejecutarse en primer plano o segundo plano. El proceso que está en primer plano es aquel con el se interactúa. Si ejecutamos, por ejemplo, el comando ls -l, se mostrará por pantalla el resultado, y hasta que no acabe de mostrarse el listado no podremos ejecutar ningún otro comando.

Pondremos un proceso en segundo plano añadiendo el símbolo ampersand (&) al final del comando. Cuando se ejecuta un proceso en segundo plano, se permite al usuario iniciar y trabajar con otros procesos. Ejemplo:
$ sleep 10 &
El comando sleep simplemente espera el número de segundos que le pasemos como parámetro.

Para ver que trabajos se están ejecutando en segundo plano, se usa el comando jobs.

El signo + seguido del número de trabajo entre corchetes indica el trabajo más reciente que se está ejecutando. El signo menos indica el siguiente trabajo más reciente.

_________________________________________________________

Pasar procesos en segundo plano a primer plano


Para pasar procesos en segundo plano a primer plano, se utiliza el comando fg, seguido de %n, donde n es el número de proceso que queremos pasar a primer plano. Por ejemplo, fg %2 pondría en primer plano la tarea número 2. En la siguiente imagen se ejecuta sleep 90 en segundo plano, y después pasa a primer plano con el comando fg.




_________________________________________________________

Pasar procesos en primer plano a segundo plano


El comando bg permite pasar procesos desde primer plano a segundo plano. Para pasar un proceso que se encuentra en primer plano a segundo plano, debemos suspenderlo primero utilizando la combinación de teclas Crtl+Z. Cuando se pulsa esa combinación de teclas, el proceso en ejecución se para y no vuelve a ejecutarse hasta que se pasa a primer o segundo plano. Con bg pasaremos el proceso a segundo plano.



_________________________________________________________
Cambiando la prioridad de los procesos

Cada proceso en Linux tiene un nivel de prioridad que oscila entre -20 (prioridad más alta) y 19 (prioridad más baja). Cuanto mayor sea el nivel de prioridad, más lentamente se ejecutará el proceso. Solamente el superusuario ‘root’ puede asignar valores negativos a la prioridad de un proceso.
Para asignar determinada prioridad a un proceso en concreto se utiliza el comando nice.

nice prioridad proceso

Podemos cambiar la prioridad de un proceso con el comando renice. Este comando admite los siguientes parámetros:

-g. Establece el nivel de prioridad de los procesos ejecutados por los miembros del grupo especificado.
-u. Establece el nivel de prioridad de los procesos ejecutados por los miembros del usuario especificado.
-p. Indica el nivel de prioridad para el proceso especificado.
___________________________________________________________
Finalizar procesos

Para finalizar un proceso se utiliza el comando kill, que tiene la siguiente sintaxis:

kill [parámetro] PID


Si, por ejemplo, queremos eliminar un proceso con PID 17122, tendríamos que escribir: kill 17122.Puede que en ocasiones el proceso no finalice al emplear el comando kill sin parámetros. Para matar un proceso asegurándonos de que no ignorará la petición de finalizar su ejecución se emplea el parámetro -9.
kill -9 17122

Hay un total de 32 señales que se pueden enviar a los procesos. Las más utilizadas son las siguientes:
kill -1 (Sighup). Reinicia el proceso.
kill -9 (SigKill). Mata el proceso.
kill -15 (SigTerm). Termina el proceso.
Por otra parte, el comando killall nombre_programa finaliza todos los procesos que estén ejecutando el programa.

1 comentario:

  1. HOLA!!!!


    JEJEJE


    POS SI A LAS 1000-8000 PERO POR FIN!!!


    JEJEJE


    BIEN...!!!!


    YA ERA HORA!!!!

    ResponderEliminar