martes, 19 de mayo de 2009

Procesos

Un proceso es cualquier programa ejecutandose, son procesos todos los programas que lancemos, las consolas, los demonios de sistema .
La multitarea real de Linux unido al gran numero de procesos (mas de 20) que pueden estar corriendo a la vez en un sistema "normal" hacen que conocer el control de procesos (o tareas) sea
importante.


Listando procesos

$ ps

Lista procesos. Opciones interesantes son (no llevan "-" delante!) a (muestra todos los procesos, aunque sean de otro usuario), u (información adicional del usuario y del proceso). Ademas de ps, podemos usar la orden

$ top

Nos informa de los procesos actuales y aparte indica los recursos que consumen, la memoria libre, la hora y otros datos de interés. El PID: es el numero con el que el sistema identifica un proceso. Es muy importante conocerlo, pues se usa para referenciar procesos en multitud de comandos. Es la primera columna del comando

$ ps au

Controlando procesos

$ kill SIGNAL PID

o

$ killall SIGNAL nombre_de_proceso

Envía la señal SIGNAL al proceso, SIGNAL puede ser -9 (matar proceso), -1 (reiniciar proceso). Por ejemplo

$ killall -9 sendmail

Elimina el programa sendmail de la memoria.

Interrumpir procesos

[Ctrl]+[c] mata el proceso actual que se encuentra en primer plano, [Ctrl]+[z] envía el proceso actual a segundo plano y para su ejecución, aunque no lo elimina de la memoria.

Moviendo procesos

Los procesos lanzados por el usuario pueden moverse de primer a segundo plano, para permitir seguir usando la consola aun cuando el proceso no ha acabado. La manera mas sencilla de lanzar un proceso a segundo plano es lanzandolo como

$ proceso &

Para listar los procesos en segundo plano usamos la orden

$ jobs

Para devolver un proceso en segundo plano a primer plano se usa la orden

$ fg numero

Donde numero es el primer parámetro que jobs asigna a cada proceso.

No hay comentarios: