Вы находитесь на странице: 1из 58

SISTEMAS OPERATIVOS II

Machala, 2017
UNIDAD VI

ADMINISTRACION DE PROCESOS, SHELL, NETWORK


Descripcin general de los procesos del
sistema
El sistema operativo administra las tareas mediante el uso de procesos.
Los procesos pueden ser iniciados por el sistema operativo o por los
usuarios.
Un proceso puede iniciar un subproceso.
Por ejemplo, cuando se utiliza vi para editar un archivo, o enva un archivo
a la impresora por medio del comando lp, se inicia un nuevo proceso.
El shell donde se inici el proceso es el proceso padre.
Descripcin general de los procesos del
sistema
Cada programa que el usuario ejecuta crea un proceso, al cual se asigna
un nmero de identificacin del proceso [process identification number]
(PID) nico.

El PID es utilizado por el sistema para identificar y rastrear el proceso hasta


que ste se completa.
Descripcin general de los procesos del
sistema
Tipos de procesos
Daemon
Padre
Hijo
Hurfano
Zombie
Descripcin general de los procesos del
sistema
Tipos de procesos
Daemon
Los daemons son procesos que son iniciados por el kernel UNIX y existen
con un propsito especfico.
Por ejemplo, el daemon lpsched existe con el nico propsito de manejar
trabajos de impresin.
Cuando no tiene lugar ninguna impresin en el sistema, el daemon
lpsched se est ejecutando pero est inactivo. Cuando se enva un
trabajo de impresin, este daemon se activa hasta que el trabajo haya
finalizado.
Descripcin general de los procesos del
sistema
Tipos de procesos
Padre
Un proceso que genera otro se denomina su proceso padre.

El daemon de login es generado por Systemd y, por lo tanto, Systemd es el


proceso padre del daemon de login.
Descripcin general de los procesos del
sistema
Tipos de procesos
Hijo
Un proceso que es iniciado por otro se denomina proceso hijo.
Cuando el usuario emite un comando desde el shell, el shell genera un
proceso hijo y espera a qu ste se ejecute.
Cuando se termina, el control vuelve al shell padre.
Descripcin general de los procesos del
sistema
Tipos de procesos
Hurfano
Si un comando se emite en una ventana de Terminal y la ventana se cierra
antes de que el comando devuelva un resultado, ese proceso se convierte
en hurfano.
El sistema pasa el proceso hurfano a ser adoptado por el proceso padre.
Descripcin general de los procesos del
sistema
Tipos de procesos
Zombie (o Difunto)
Ocasionalmente, un proceso hijo no vuelve a su proceso padre con un
resultado.
Este proceso se "pierde" en el sistema.
Este tipo de proceso se denomina zombie o proceso difunto.
Los procesos difuntos no daan ni ralentizan el sistema y se borran
automticamente cuando se reinicia el mismo.
Descripcin general de los procesos del
sistema
El comando ps
El comando ps (process status) se utiliza para presentar una lista de los
procesos que se estn ejecutando actualmente en el sistema.
Mediante un listado de los procesos, se puede ver el nombre del comando
o programa que inici el proceso.
Se puede utilizar el comando ps para verificar la PID del proceso y luego
cerrarlo o "matarlo" si est requiriendo demasiado tiempo o se ha
detenido.
Descripcin general de los procesos del
sistema
El comando ps
Sintaxis del comando ps
ps [-opciones]
Descripcin general de los procesos del
sistema
Opciones Significado Descripcin
ps Sin opciones Muestra informacin sobre los procesos del
usuario actual en el shell o ventana de terminal
actual
ps -e Todos Muestra informacin sobre todos los procesos
en el sistema
ps -f Completa Genera un listado completo con toda la
informacin
disponible sobre cada proceso
ps u id- Usuario Muestra todos los procesos de un usuario en
usuario particular.
Descripcin general de los procesos del
sistema
Descripcin general de los procesos del
sistema
Bsqueda de un proceso especfico
Bsqueda de un proceso especfico
Seales y el comando kill

SEALES
Las seales se utilizan para terminar, suspender y continuar procesos.

SEAL DESCRIPCIN
SIGINT Interrupcin (2)
SIGSTOP Suspender el proceso (19)
SIGALRM Alarma. (14)
SIGKILL Destruccin inmediata del proceso. (9)
Seales y el comando kill

El Comando kill
kill -9 #PID
Procesos en Primer y Segundo Plano

Primer Plano Segundo Plano

La comunicacin entre Se puede ejecutar un


el usuario y el shell proceso en segundo
sucede plano agregando
interactivamente, de a ampersand (&) al final.
una tarea a la vez. Iniciar un programa y
Se debe esperar hasta poder continuar
que el shell complete la interactuando con el
tarea antes de requerir shell.
otra.
UNIDAD VI

TEMA: PROCESOS
PROBLEMA: Cmo aplicar los comandos at y crontab?
OBJETIVO: Aplicar los comandos at y crontab.
El comando at

El comando at permite ejecutar programas, comandos o scripts del shell en


alguna fecha y hora futuras.
Comando no persistente, usado de forma temporal.
El comando at

at 15:30
at> kill -9 1234
at> Ctrl + d
El comando crontab

La utilidad crontab permite a un usuario planificar un comando o


programa a ser ejecutado en intervalos planificados.
Esta utilidad es til para planificar copiados de seguridad, buscar y borrar
archivos, o incluso para enviar un email.
El comando crontab se utiliza para visualizar y editar un archivo crontab
del usuario que almacena informacin de programas planificados.
El comando crontab
El comando crontab

Los primeros 5 campos pueden tener lo siguiente:


Un valor nico
Varios valores, es decir 1, 3, 5 en el quinto campo, que significara lunes,
mircoles, viernes
Un rango de valores que es 1-5 en el quinto campo que significara lunes al
viernes
Un "*" que significa cualquiera o todos los valores
El comando crontab

0 17 * * 5 root echo Prueba > /dev/console

30 7 20 11 * usuario /home/usuario/scripts/actualizar.sh
El comando crontab

crontab -e (editar).

crontab -l (lista).

crontab -r (remove - borrar).


SHELL

Un shell es una interfaz entre el usuario y el kernel.


El shell acta como intrprete o traductor.
Los shells pueden ser de lnea de comandos o grficos.
Los shells son tambin intercambiables, haciendo posible el iniciar o
alternar entre los shells en cualquier momento para utilizar determinadas
funcionalidades no disponibles en otros shells.
SHELL

Varias de las funcionalidades del shell:


Coincidencia de wildcards
Redireccionamiento de entrada/salida
Los pipes
El procesamiento en segundo plano
Las funcionalidades del lenguaje de programacin
SHELL

Existen varias razones para el uso de alias


Utilice un alias para sustituir un comando largo por uno corto.
Utilice un alias para crear un nico comando para una serie de
comandos.
Utilice un alias para crear formas alternativas de comandos existentes.
ALIAS

Formato del Comando:

alias nombre_del_alias=valor
ALIAS
Mostrar ALIAS
Remocin de un Alias

Formato del Comando:

unalias nombre_del_alias
Uso de la funcionalidad history
(historial) y repeticin de comandos
La funcionalidad history (historial) de los shells mantiene un registro de las
lneas exactas del comando que se introduce en el mismo orden en que
fueron introducidas.

Formato del Comando:


history [opciones]
Uso de la funcionalidad history
Uso de la funcionalidad history
Uso de la funcionalidad history
Repeticin de Comandos

La manera ms simple de repetir comandos en el shell Bash es presionar la


flecha arriba, o las teclas Ctrl+P, y la flecha abajo, o las teclas Ctrl+N.
El uso de estas teclas desplazar al usuario a travs de los comandos
anteriores de la lista del historial.
Cmo completar nombres de archivos
y comandos en los shells Korn y Bash
Para utilizar la funcionalidad para completar un nombre de archivo:
Tipee un comando, tal como ls, cat, rm, etctera, seguido de uno o ms
caracteres de un nombre de archivo.
Presione la tecla Tab, para el shell Bash.
Si el shell encuentra ms de un archivo en el directorio actual que
comienza con las letras introducidas, el alumno introduce entonces el o los
siguientes uno o ms caracteres del nombre de archivo deseado.
Variables del Shell y Prompts
Personalizados
Todo el trabajo que se lleva a cabo y los procesos que se ejecutan desde el
momento del login hasta el momento del logout se completan dentro de un
entorno.
El entorno tambin consiste en variables a las cuales los programas del shell y
los procesos acceden durante la ejecucin.
Variables del Shell y Prompts
Personalizados
Todas las variables son de uno de dos tipos:
Variables locales (del shell) son variables que estn disponibles slo para la
sesin actual del shell.
Variables del entorno (globales) son variables que estn disponibles para
el shell actual y todos los shells hijos o sub-shells que el usuario o el sistema
podran iniciar.
Variables del Shell y Prompts
Personalizados

Variable Significado
HOME Directorio de trabajo.
PATH Lista, en orden y separados por dos puntos, los
directorios en los que el shell busca para encontrar
el programa a ejecutar cuando se teclea un
comando.
SHELL Almacena el nombre del programa de shell del
usuario.
Variables Locales

Cuando se crea una variable, dicha variable est disponible slo en ese
shell.
Esto se denomina variable local.
Si se crea un nuevo subshell, manualmente o a travs del sistema, las
variables creadas en el shell padre no estn disponibles.
Cuando se sale del subshell, ya sea automticamente a travs del sistema
o manualmente tipeando exit, las variables estarn disponibles
nuevamente.
Cuando se sale del shell donde se crearon las variables locales, las
variables de ese shell se terminan.
Variables Locales

Utilice el comando set para crear, cambiar, eliminar o mostrar variables de


entorno.
El comando set altera variables solamente en el entorno de shell actual.

Para agregar una variable, escriba en el smbolo del sistema:


set VariableName=Value
Para eliminar una variable, escriba en el smbolo del sistema:
set nombreDeVariable =
Variables Locales

Las variables del entorno son variables globales disponibles para todos los
shells y subshells, no slo para el shell local.
Para hacer que una variable sea conocida por un subshell, debe
exportarse por medio del comando export.
Exportar una variable
export nombre variable
Exportar y definir la variable
export nombre variable=valor
UNIDAD VI

TEMA: Archivos de Inicializacin


PROBLEMA: Cmo identificar los archivos de inicializacin de la shell?
OBJETIVO: Identificar los archivos de inicializacin de la shell.
Archivos de Inicializacin del Shell

Los archivos o scripts de inicializacin contienen una serie de comandos,


configuraciones y variables.

Estos comandos, configuraciones y variables se ejecutan y configuran


cuando se inicia un shell para establecer el entorno de trabajo para el
sistema y el usuario.
Archivos de Inicializacin del Shell

Existen dos niveles de archivos de inicializacin.

El primer nivel abarca a todo el sistema. Los archivos de inicializacin que


abarcan todo el sistema son mantenidos por un administrador del sistema
y residen en el directorio /etc.

El segundo nivel representa a los archivos de inicializacin especficos del


usuario que residen en el directorio home de cada uno.
Archivos de Inicializacin del Shell

Durante el proceso de login el archivo de inicializacin de todo el sistema


se lee primero, y los archivos especficos del usuario se leen a continuacin.

~/.bash_profile

Es ledo y los comandos incluidos en l, ejecutados, cada vez que el usuario


entra en el sistema.

~/.bashrc

Es ledo cuando el usuario arranca un subshell.


Archivos de Inicializacin del Shell

Configuran un prompt por defecto que determina qu aspecto tiene el


prompt cuando el usuario hace logn.
Definen una impresora por defecto.
Configuran permisos por defecto para nuevos archivos y directorios.
Configuran la ruta de comandos para que el shell sepa en qu directorios
buscar comandos y archivos ejecutables.
Definen alias de comandos del usuario.
UNIDAD VI

TEMA: Scripts de la Shell


PROBLEMA: Cmo crear scripts de shell?
OBJETIVO: Crear scripts de shell
Descripcin general de los scripts del
shell
Un script de shell es un archivo de texto que contiene una secuencia de
comandos para que el shell ejecute una lnea a la vez.
Tareas complejas que involucran variables y otras funciones de
programacin se logran utilizando scripts de shell.
Los comentarios van precedidos por un smbolo numeral (#).
Los programas del shell son interpretados, no compilados.
Descripcin general de los scripts del
shell
Creacin de un script de shell

PASOS:
1) Decidir que har el script.
2) Hacer una listas de comandos
3) Crear un nuevo archivo para el script
4) Aadir comandos y comentarios
5) Guardar
6) Hacer el script ejectable
7) Ejecutarlo
8) Depurarlo y modificarlo.
Creacin de un script de shell

Elija un nombre de archivo descriptivo respecto a qu hace el script y evite


utilizar el nombre de un comando o nombre de alias Unix ya existente.
Por convencin los archivos script finalizan en .sh (punto sh), para poder
identificarlos fcilmente como archivo de script de Shell.

Вам также может понравиться