Procesos

15
PROCESOS PROCESOS Concepto de proceso Concepto de proceso Iniciando y parando los Iniciando y parando los procesos procesos Procesos padres e hijos Procesos padres e hijos Monitorización de Monitorización de procesos procesos Controlando los procesos Controlando los procesos Prioridades de los Prioridades de los procesos procesos Demonios Demonios

Transcript of Procesos

Page 1: Procesos

PROCESOSPROCESOSConcepto de procesoConcepto de procesoIniciando y parando los procesosIniciando y parando los procesosProcesos padres e hijosProcesos padres e hijosMonitorización de procesosMonitorización de procesosControlando los procesosControlando los procesosPrioridades de los procesosPrioridades de los procesosDemoniosDemonios

Page 2: Procesos

Qué es un Proceso?Qué es un Proceso? Un programa es un archivo ejecutableUn programa es un archivo ejecutable Un proceso es un programa que esta siendo Un proceso es un programa que esta siendo

ejecutado.ejecutado. Cada proceso tiene su propio medio ambiente.Cada proceso tiene su propio medio ambiente.

•Para ver el PID del actual proceso shell se escribe: Para ver el PID del actual proceso shell se escribe: $echo $$$echo $$

Page 3: Procesos

Comenzar y parar un Comenzar y parar un ProcesoProceso

Todos los procesos son iniciados por otros procesos. Todos los procesos son iniciados por otros procesos. De aquí nacen las relaciones padre e hijo entre procesos.De aquí nacen las relaciones padre e hijo entre procesos.

Un proceso puede terminar por dos causas:Un proceso puede terminar por dos causas: El proceso termina por si mismo cuando se ha El proceso termina por si mismo cuando se ha

terminado su ejecuciónterminado su ejecución El proceso es terminado por una señal enviada por otro El proceso es terminado por una señal enviada por otro

procesoproceso..

Page 4: Procesos

Ambiente del Proceso Ambiente del Proceso LoginLogin

Cuando un usuario desea ingresar a un sistema Linux, Cuando un usuario desea ingresar a un sistema Linux, debe hacerlo con una cuenta de usuario y una clave. debe hacerlo con una cuenta de usuario y una clave. El prompt login es creado por un proceso “login”.El prompt login es creado por un proceso “login”.

Page 5: Procesos

Procesos Padres e Procesos Padres e hijoshijos

El PID es el número de identificación del proceso usado por el Kernel para distinguir a El PID es el número de identificación del proceso usado por el Kernel para distinguir a los distintos procesos. los distintos procesos.

El PPID es el número de identificación del proceso padre, o en otras palabras es el El PPID es el número de identificación del proceso padre, o en otras palabras es el PID del proceso que dio origen al segundo proceso.PID del proceso que dio origen al segundo proceso.

La variable de ambiente $$ identifica el PID del shell actual.La variable de ambiente $$ identifica el PID del shell actual.

Page 6: Procesos

Monitoreando los Monitoreando los procesosprocesos

Para monitorear los procesos se usa el Para monitorear los procesos se usa el comando ps. Ejemplo:comando ps. Ejemplo:

$ps -aux$ps -aux

a: todos los procesos relacionados a un terminala: todos los procesos relacionados a un terminalx: todos los procesosx: todos los procesosu: provee mas columnasu: provee mas columnas

Para mostrar los procesos en forma gráfica se Para mostrar los procesos en forma gráfica se usa el comando pstree. Ejemplo:usa el comando pstree. Ejemplo:

$pstree$pstree

Page 7: Procesos

Controlando los procesosControlando los procesos

Los procesos pueden ser controlados de dos Los procesos pueden ser controlados de dos formas:formas:

Desde el shell que los inicia, usando el Desde el shell que los inicia, usando el job numberjob number.. Desde cualquier parte del sistema usando su Desde cualquier parte del sistema usando su PIDPID

Las acciones que se pueden realizar sobre un Las acciones que se pueden realizar sobre un proceso en ejecución son:proceso en ejecución son:

TerminarloTerminarlo MatarloMatarlo Pararlo/continuar su ejecuciónPararlo/continuar su ejecución

Esas acciones se realizan enviando señales a Esas acciones se realizan enviando señales a los procesos.los procesos.

Page 8: Procesos

Iniciando ProcesosIniciando Procesos Los procesos pueden iniciarse en dos Los procesos pueden iniciarse en dos

formas: formas: Foreground: Los procesos se inician de este modo Foreground: Los procesos se inician de este modo

simplemente escribiendo el comando en la línea simplemente escribiendo el comando en la línea de comandos.de comandos.

Background: Los procesos se inician de este modo Background: Los procesos se inician de este modo escribiendo un & al final de la línea del comando.escribiendo un & al final de la línea del comando.

Page 9: Procesos

Controlando los trabajos Controlando los trabajos en el “Shell Bash”en el “Shell Bash”

TECLASTECLAS EFECTOEFECTO

<CTRL-Z><CTRL-Z> Suspende las tareas que se están Suspende las tareas que se están realizando en foreground.realizando en foreground.

No se termina el proceso solo se lo No se termina el proceso solo se lo suspende, luego puede reiniciarse.suspende, luego puede reiniciarse.

jobsjobs Lista los trabajos en background o Lista los trabajos en background o suspendidossuspendidos

fgfg Trae a foreground un trabajo que este en Trae a foreground un trabajo que este en background o suspendidobackground o suspendido

bgbg Reinicia en modo backgound un proceso Reinicia en modo backgound un proceso suspendidosuspendido

Los comandos bg, fg, utilizan el número de job y el comando kill usa %job

Page 10: Procesos

Ejemplo de: “ Control de Ejemplo de: “ Control de trabajos”trabajos”

Page 11: Procesos

Manejando las Manejando las prioridades de los prioridades de los procesosprocesos

Page 12: Procesos

Prioridades de los Prioridades de los procesosprocesos

Los procesos en Linux son organizados de acuerdo a Los procesos en Linux son organizados de acuerdo a determinadas prioridades.determinadas prioridades.

La prioridad de los procesos están continuamente La prioridad de los procesos están continuamente cambiandocambiando

El comando El comando nicenice es usado para iniciar un proceso con es usado para iniciar un proceso con una determinada prioridad. Ejemplo:una determinada prioridad. Ejemplo:

Page 13: Procesos

Herramientas para Herramientas para manejar los procesosmanejar los procesos

Existen diversas herramientas para Existen diversas herramientas para manejar los procesos gráficamente, manejar los procesos gráficamente, como por ejemplo:como por ejemplo:

top Corre en un terminal tipo textotop Corre en un terminal tipo texto

Kpm Corre en una ambiente gráficoKpm Corre en una ambiente gráfico

Page 14: Procesos

DemoniosDemonios EL término demonio se refiere a un proceso que nunca termina. EL término demonio se refiere a un proceso que nunca termina. Los demonios son procesos que se ejecutan en modo background Los demonios son procesos que se ejecutan en modo background

durante todo el tiempo que el sistema está encendido.durante todo el tiempo que el sistema está encendido. Usualmente es un proceso del sistema que controla un recurso del Usualmente es un proceso del sistema que controla un recurso del

sistema, tal como la cola de impresión o realiza un servicio de red.sistema, tal como la cola de impresión o realiza un servicio de red. Un ejemplo de demonio es el “lpd” controla las colas de impresión.Un ejemplo de demonio es el “lpd” controla las colas de impresión.

Page 15: Procesos

UNA IDEA PARA REFLEXIONARUNA IDEA PARA REFLEXIONAR

“Vive tal cual si fueses a morir mañana, aprende como si fueras a vivir siempre.”

Mahatma Gandhi