You are on page 1of 29

Un proceso es cualquier programa en ejecucin.

Un proceso necesita ciertos recursos para realizar satisfactoriamente su tarea:

Tiempo de CPU. Memoria. Archivos. Dispositivos de E/S.

Los recursos se asignan a un proceso: Cuando se crea. Durante su ejecucin.

Obtener informacin de un proceso: Pues el comando ps, es el ideal para conocer el estado de un proceso ps (process status) o estado del proceso . /home/jm$ ps PID TTY TIME CMD 734 pts/1 00:00:12 bash 754 pts/1 00:00:01 ps

PID (Identificacion del Proceso): Cada proceso obtiene un numero de identificacion unico, que es asignado por el kernel. TTY: No es mas que el terminal asociado con el proceso, tambin puede ser otro dispositivo de entrada. TIME: El tiempo que el proceso ha estado en ejecucin.. CMD: Es el nombre del comando que esta siendo ejecutado, bash es el proceso del shell.

Para visualizar los procesos ejecutndose en el sistemas vasta con poner ps -A. ps por si solo nos muestra los procesos del usuario actual. Otra opcin seria colocarle al comando ps, la opcin r, de forma que ps -r, este nos mostrara los procesos ejecutndose actualmente. para ver un listado largo y detallado se utiliza el comado ps -l

Ya sabemos que cada proceso posee un PID distinto y unico, tambien es importante resaltar que el proceso shell es llamado proceso padre. Todos los comandos que corran dentro del proceso shell son hijos del proceso shell. por eso la importancia del comando ps l, ya que nos muestra las opciones PPIDE, S,R y UID.

/home/jm$ bash /home/jm$ ps l


F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 3591 3588 3 80 0 - 1567 - pts/0 00:00:00 bash 0 S 1000 3605 3591 8 80 0 - 1572 - pts/0 00:00:00 bash 0 R 1000 3618 3605 0 80 0 - 874 - pts/0 00:00:00 ps

En DOS

tasklist /M nos indica las DLL utilizadas en cada proceso. tasklist /SVC nos permite saber a que servicio corresponde cada ejecutable presente en la memoria (si es un servicio). http://technet.microsoft.com/frfr/sysinternals/bb896653(en-us).aspx

En cada computadora siempre existir una gran cantidad de procesos que se ejecutan de manera simultnea sin que el usuario se de cuenta de ello. Cuando el usuario ejecuta un programa, es decir, genera un proceso, este se llevar a cabo de dos maneras posibles: Modo foreground: Son procesos generados por programas interactivos, es decir, que requieren la atencin del usuario. Modo background: Son procesos que no requieren la interaccin con el usuario para su ejecucin.

ctrl-z Detiene un programa que se este ejecutando en modo foreground. bg Coloca el trabajo recin suspendido en modo background. fg Vuelve a colocar el trabajo en modo foreground. jobs -l Muestra una lista de los trabajos en background.

Cuando ingresamos un comando en el prompt, se crea un proceso shell, por ejemplo si ejecutamos gedit en un termina (gedit es un edito de texto), pues observaremos que el terminal queda como deshabilitado, sea el prompt queda titilando. pues esto se debe a que gedit se esta ejecutando en primer plano (foreground), y por tanto el control no se dar al shell padre hasta que la ejecucin del comando gedit termine, osea hasta que cerremos el edito de texto gedit.

Proceso en segundo plano: pues un proceso en segundo plano ( background) es muy util, linux permite ejecutar procesos en segundo plano de manera muy fcil basta con colocar el smbolo & a final de programa.

/home/jm$ gedit &

Haga clic en Inicio y en Ejecutar, escriba sysdm.cpl en el cuadro Abrir y presione Entrar para abrir el cuadro de dilogo Propiedades del sistema. Haga clic en la ficha Opciones avanzadas y, despus, en Rendimiento, haga clic enConfiguracin. Haga clic en la ficha Opciones avanzadas y, a continuacin, en Programacin del procesador, utilice uno de los mtodos siguientes:

Haga clic en Programas para asignar ms recursos de procesador a los programas en primer plano. Se recomienda

Haga clic en Aceptar para aplicar las preferencias y cerrar el cuadro de dilogo.

esta configuracin para la mayora de los usuarios. Haga clic en Servicios en segundo plano para asignar equitativamente los recursos del procesador a todos los servicios en ejecucin. Aqu se incluyen trabajos de impresin y aplicaciones.

UNIX es un ambiente de trabajo multiusuario y multi-tarea. Esto significa que mientras un usuario realiza sus procesos en el computador otros usuarios pueden tener trabajos en ejecucin de manera simultnea. Es por esta razn que resulta beneficioso para todos los usuarios que los recursos del sistema sean aprovechados de manera eficiente, y esto es posible minimizando los tiempos de respuesta del computador.

Dejar trabajos en baja prioridad en el sistema es una buena manera de utilizar los recursos eficientemente. De esta manera el tiempo de respuesta de los programas interactivos no resultarn afectados. El comando nice permite dejar un proceso en baja prioridad y en el modo background. Este comando acepta nmeros del 1 al 20 (la numeracin depende de la versin UNIX utilizada), donde los nmeros ms altos significan prioridad ms baja. nice # coloca una determinada prioridad a un proceso. Por ejemplo, para ejecutar el programa f77 spav.f con prioridad baja se hace lo siguiente: nodo5.cecalc.ula.ve>nice +20 f77 spav.f

Funcionalidad: Este comando repone el nivel de ejecucin a un proceso que se este ejecutando, es decir, altera la prioridad de planificacin de uno o mas procesos en ejecucin. Aplicar renice a un grupo de procesos provoca que todos los procesos vean alterada su prioridad de planificacin. Por defecto, los procesos se especifican a partir de su ID de proceso.

# renice -5 19940 Esto disminuye la prioridad de este proceso.


$ renice PRIORIDAD PID_PROCESO PRIORIDAD es un valor que va desde -20 a +20 (con el signo incluido). -20 es la prioridad ms alta (al contrario de lo que cabra pensar), y +20 la ms baja. Slo root puede establecer un proceso a una prioridad negativa, los usuarios como mximo pueden poner un proceso en prioridad 0.

Funcionalidad: Este comando sirve para dormir el proceso deseado x segundos que se deben especificar, es decir, suspende la ejecucin durante un cierto nmero de segundos. Las unidades de tiempo disponibles y como se especifican son: s segundos m minutos h horas d das Sintaxis: sleep [tiempo] [opcin] [orden] Ejemplo: Sleep 7s (Detiene la ejecucin 7 segundos) Sleep 3s; exit (sleep 60; ls /home/usuario ) & Para cortar la ejecucin presionar CTRL + c. Este ejemplo simple (pero sin utilidad) sera listar un directorio dentro de 60 segundos.

Funcionalidad: El comando jobs se utiliza para listar procesos que se estn ejecutando en segundo plano o primer plano. Si la respuesta se devuelve sin informacin es que no hay procesos presentes. Sintaxis: jobs [opciones]

Opciones: -l Visualiza el PID (identificador de proceso) de cada proceso. -r Visualiza los procesos que se encuentran en estado de ejecucin (running) -s Visualiza los procesos que estn en estado suspendido (stopped).

Reporta las estadsticas asociadas a los procesadores. Sintaxis general:

mpstat <intervalo> <cantidad_de_lineas>

La informacin ms importante que vemos en el resultado de la ejecucin del comando es: usr indica en % el tiempo consumido por los procesos de usuario. sys % de tiempo de CPU consumido por los procesos del sistema. idl % de tiempo libre de CPU Se puede especificar el intervalo para mostrar informacin de manera peridica. Ejemplo para 2 segundos: mpstat 2 Se puede indicar la CPU a mostrar . Ej.: CPU 0 mpstat -P 0 O mostrar todas las CPUs mpstat -P ALL 1

sar [opciones] intervalo cuenta

Es como vmstat pero especializada en I/O de disco; proporciona ms informacin


iostat [-d] [-k] [-x] [device] [intervalo [num]]

Opciones -d: muestra informacin de disco solamente -k: usa kilobytes en lugar de bloques -x: estadsticas ms detalladas device: slo muestra datos de ese dispositivo Ejemplo $ iostat -x

lsusb - muestra informacin sobre los buses USB y los dispositivos conectados a ellos lspci - muestra informacin sobre los buses PCI y los dispositivos conectados a ellos lsdev - muestra informacin sobre el hardware instalado

Una de las ventajas de UNIX, al interactuar con el usuario, es que se comporta como un poderoso lenguaje de programacin interpretado. Esto permite, entre otras cosas, cambiar la salida por omisin de un comando y convertirlo en la entrada de otro comando o simplemente almacenarlo en un archivo. Para esto se utilizan los caracteres de redireccionamiento:

cmd1 | cmd2 la salida del cmd1 pasa a la entrada del cmd2 cmd1 > file la salida del cmd1 sobreescribe el archivo file cmd1 < file la entrada del cmd1 se toma de file cmd1 >> file la salida de cmd1 se aade al final de file

Ejemplo: jm% ls -l > mis_archivos En este caso, la salida del comando ls -l se escribe directamente sobre el archivo mis_archivos, si este no existe, entonces se crea.

FIN

You might also like