SlideShare una empresa de Scribd logo
3
Lo más leído
5
Lo más leído
8
Lo más leído
Práctica de
Procesos
Administración de Sistemas
Operativos



Francisco Javier Gavilán Escriche 2ºA
Práctica de Procesos                                                                             Francisco Javier Gavilán Escriche




Indice

Objetivos..........................................................................................................................................2
Punto 1 .............................................................................................................................................4
Punto 2 .............................................................................................................................................4
Punto 3 .............................................................................................................................................6
Punto 4 .............................................................................................................................................6
Punto 5 ...........................................................................................................................................11
Punto 6 ...........................................................................................................................................12
Punto 7 ...........................................................................................................................................13
Punto 8 ...........................................................................................................................................14




                                                                                                                                                         1
Práctica de Procesos                                          Francisco Javier Gavilán Escriche




Objetivos
1. Estudia la orden uptime:

         ¿Cuánto tiempo lleva en marcha el sistema?
         ¿Cuántos usuarios hay trabajando?
         ¿Qué orden ofrece en su cabecera la misma información que uptime?


2. La orden pstree muestra el árbol de procesos que hay en ejecución. Comprueba
haciendo uso de la orden ps -la y de los valores “PID” y “PPID” mostrados para cada
proceso, que efectivamente los procesos son padre e hijo.

3. En muchos casos nos interesará “cortar columnas”. Recuerda el uso de tr y cut. Por
ejemplo, ¿cómo funciona esta instrucción?

ps aux | tr -s ’ ’ | cut -f 2,11 -d ’ ’

4. Crea el fichero /tmp/bucle con el siguiente contenido:

#!/bin/bash
echo ’nada’ > /dev/null
exec /tmp/bucle

         Ejecuta la orden top en una terminal y comprueba el estado del sistema, a
          continuación lanza /tmp/bucle en otra. Observa cómo cambia el estado del sistema
          al lanzar el script. En una tercera terminal, comprueba con ps los procesos en
          ejecución.
         Usando la combinación de teclas “Control-Z” para el proceso bucle. Una vez parado
          comprueba que la información mostrada por top va cambiando, hasta llegar un
          momento en el que no muestra información sobre dicho proceso. Fíjate que ha
          aumentado el número de procesos parados.
         Reinicia el proceso con la orden fg y comprueba que vuelve a aparecer la
          información sobre el proceso.
         Observa si mientras está en ejecución ese proceso cambia la carga media del
          sistema.
         ¿Por qué aparece siempre el proceso bucle con el mismo PID si se lanza a sí
          mismo una y otra vez durante su ejecución?
         Cambia la velocidad de referesco de top a 2s.
         Desde el top, cambia la prioridad del proceso, dándole un valor menor, por ejemplo
          10.
         Usando la orden nice lanza otro proceso bucle con la prioridad de 5.
         Observa que la CPU se le asignará más al segundo bucle lanzado, que tiene más
          prioridad, que al primero que se ejecutó, que tiene menos prioridad.
         Asigna mediante renice una prioridad de 19 al bucle que lanzaste con prioridad 5.
          ¿Cómo afecta esto a la ejecución de los dos procesos?
         Desde el top mata el bucle con prioridad 10. Fíjate que ahora, a pesar de que el que
          queda tiene prioridad 19, se le asigna más de la CPU que antes.
         Haciendo uso de la orden kill, para el proceso bucle que aún queda en ejecución.
          Despu s usando tambi n kill rean dalo y finalmente elim nalo.


                                                                                                  2
Práctica de Procesos                                        Francisco Javier Gavilán Escriche

5. Estudia el uso que se hace de la CPU, con mpstat, y el uso de memoria, con vmstat, que
están haciendo en este momento los procesos en ejecución. Para que el sistema tenga
tareas a realizar y acceso al disco al mismo tiempo, ejecuta la siguiente orden:

find / -type f -exec cat {} > /dev/null ;

6. Prueba las opciones de ulimit. Ten en cuenta que una vez establecido un límite con
ulimit no es posible establecer un nuevo límite mejor, para cambiar a un valor mejor es
necesario finalizar ese intérprete de órdenes. Recuerda que los valores establecidos son
por intérprete de órdenes.

       Limita el número de ficheros abiertos a 2. A continuación ejecuta la orden “ls”. ¿Qué
        está sucediendo?
       Limita el tamaño del fichero core a 2K.
       Limita el número de procesos en ejecución a 1. Ejecuta a continuación una orden,
        por ejemplo, ps. ¿Qué está sucediendo?
       ¿Qué podemos hacer para que tengan efecto siempre sobre cierto usuario? (Pista:
        ficheros profile).

7. Ordenes: at, atq, atrm. (Para poder recibir un correo cuando una orden programada con
at se ejecute es necesario que esté en ejecución el demonio sendmail).

       Si el demonio atd no está en ejecución, lánzalo para poder hacer este ejercicio.
       Programa con la orden at un “ls /” dentro de unos minutos. Comprueba cómo te
        avisa de que la orden ha sido ejecutada.
       Programa con la orden at un “ls /tmp > $HOME/salidatmp” dentro de unos minutos.
        Comprueba cómo te avisa de que la orden ha sido ejecutada.
       Utiliza la orden atq para averiguar que hay en la cola y atrm para eliminar trabajos
        que hayan sido encolados.


8. Con la orden free averigua el estado de la memoria principal y de intercambio del
sistema en este momento.




                                                                                                3
Práctica de Procesos                                          Francisco Javier Gavilán Escriche


Punto 1
Estudia la orden uptime:

    ¿Cuánto tiempo lleva en marcha el sistema?




    Lleva conectado 23 minutos al sistema

    ¿Cuántos usuarios hay trabajando?

    Como se puede ver en la imagen están trabajando 2 usuarios, aunque con la orden who
    podríamos concretar quienes son.

    ¿Qué orden ofrece en su cabecera la misma información que uptime?

    El comando TOP




Aunque también con la orden w puede visualizarse en pantalla el tiempo que lleva cada usuario
conectado al sistema.



Punto 2
La orden pstree muestra el árbol de procesos que hay en ejecución. Comprueba haciendo uso de
la orden ps la y de los valores “PID” y “PPID” mostrados para cada proceso, que efectivamente
los procesos son padre e hijo.

En un terminal lanzado un gedit con “gedit &” y me indica lo siguiente:




                                                                                                  4
Práctica de Procesos                                      Francisco Javier Gavilán Escriche




Ahora hacemos un ps la para ver los procesos que están en marcha en el sistema y como vemos
por ejemplo el PID de gedit es 1859 y PPID (numero que hace mención a su proceso padre) es
1806, si buscamos cual es en el sistema su proceso padre vemos que bash tiene el PID 1806.




Ahora mediante un pstree en otro terminal comprobamos que el proceso bash es el padre del
proceso gedit




                                                                                              5
Práctica de Procesos                                          Francisco Javier Gavilán Escriche


Punto 3
En muchos casos nos interesará “cortar columnas”. Recuerda el uso de tr y cut. Por ejemplo,
¿cómo funciona esta instrucción? ps aux | tr -s ‟ ‟ | cut -f 2,11 -d ‟ ‟




Ps aux  Listarte los procesos de todos los usuarios

Tr –s „ „  elimina los espacios en blanco duplicados

Cut –f  Corta la información por las columnas que nos interesa obtener información



Punto 4
Crea el fichero /tmp/bucle con el siguiente contenido:

#!/bin/bash
echo ‟nada‟ > /dev/null
exec /tmp/bucle




   Ejecuta la orden top en una terminal y comprueba el estado del sistema, a continuación lanza
    /tmp/bucle en otra. Observa cómo cambia el estado del sistema al lanzar el script. En una
    tercera terminal, comprueba con ps los procesos en ejecución.


                                                                                                   6
Práctica de Procesos                                        Francisco Javier Gavilán Escriche

Primero lanzamos el comando top, después vamos a lanzar el proceso con un sh /tmp/bucle (si
no funciona dar permisos a la carpeta tmp), acto seguido volvemos a consultar el top y vemos
como se ha ejecutado el bucle y está ejecutándose como un proceso.




   Usando la combinación de teclas “Control-Z” para el proceso bucle. Una vez parado
    comprueba que la información mostrada por top va cambiando, hasta llegar un momento en
    el que no muestra información sobre dicho proceso. Fíjate que ha aumentado el número de
    procesos parados.




Una vez que paramos con CTRL+Z se detiene el bucle y aumenta el número de procesos parados

   Reinicia el proceso con la orden fg y comprueba que vuelve a aparecer la información sobre
    el proceso.




                                                                                                 7
Práctica de Procesos                                          Francisco Javier Gavilán Escriche


   Observa si mientras está en ejecución ese proceso cambia la carga media del sistema.

Si aumenta




   ¿Por qué aparece siempre el proceso bucle con el mismo PID si se lanza a sí mismo una y
    otra vez durante su ejecución?

Aparece siempre con el mismo PID debido a que lo que hacemos es parar el proceso y no
matarlo.

   Cambia la velocidad de refresco de top a 2s.

Cuando estemos ejecutando el comando top le damos a la tecla d y acto seguido le metemos el
tiempo de refresco que serán 2 segundos.




   Desde el top, cambia la prioridad del proceso, dándole un valor menor, por ejemplo 10.

Ejecutando el top le damos a la r y metemos el PID del proceso (en este caso el PID
perteneciente al bucle anterior es el 11403)




                                                                                                  8
Práctica de Procesos                                           Francisco Javier Gavilán Escriche




Ahora establecemos para que tenga prioridad 10




Y más tarde vemos como el NI ha aumentado a 10




   Usando la orden nice lanza otro proceso bucle con la prioridad de 5.

En un terminal introducimos la siguiente orden:




                                                                                                   9
Práctica de Procesos                                         Francisco Javier Gavilán Escriche


   Observa que la CPU se le asignará más al segundo bucle lanzado, que tiene más prioridad,
    que al primero que se ejecutó, que tiene menos prioridad.




En el comando top ejecutado anteriormente se puede observar cómo se ha creado un nuevo
proceso llamado bucle con el NI a 5

   Asigna mediante renice una prioridad de 19 al bucle que lanzaste con prioridad 5. ¿Cómo
    afecta esto a la ejecución de los dos procesos?




   Desde el top mata el bucle con prioridad 10. Fíjate que ahora, a pesar de que el que queda
    tiene prioridad 19, se le asigna más de la CPU que antes.




En la pantalla con el comando top ejecutado le damos a la k y nos pedirá el número de PID que
queremos matar, justo después le metemos el número 15 para que mate el proceso y listo.

   Haciendo uso de la orden kill, para el proceso bucle que aún queda en ejecución. Después,
    usando tambi n kill rean dalo y, finalmente, elim nalo.



Kill -19  Para parar el proceso
Kill -18  Para reanudar el proceso

Posteriormente con un Kill -9 matamos el proceso.

                                                                                                 10
Práctica de Procesos                                            Francisco Javier Gavilán Escriche


Punto 5
Estudia el uso que se hace de la CPU, con mpstat, y el uso de memoria, con vmstat, que están
haciendo en este momento los procesos en ejecución. Para que el sistema tenga tareas a realizar y
acceso al disco al mismo tiempo, ejecuta la siguiente orden: find / -type f -exec cat {} > /dev/null
;

Primero tenemos que instalar sisstat




Ahora lo que vamos a hacer es un mpstat y vmstat del sistema antes de ejecutar la orden del
enunciado y otro justamente después para ver los cambios que se han producido.

Antes:




                                                                                                    11
Práctica de Procesos                                         Francisco Javier Gavilán Escriche



Después:




Punto 6
Prueba las opciones de ulimit. Ten en cuenta que una vez establecido un límite con ulimit no es
posible establecer un nuevo límite mejor, para cambiar a un valor mejor es necesario finalizar
ese intérprete de órdenes. Recuerda que los valores establecidos son por intérprete de órdenes.

   Limita el n mero de ficheros abiertos a 2. A continuación ejecuta la orden “ls”. ¿Qu está
    sucediendo?




   Limita el tamaño del fichero core a 2K.

ulimit -c 2 nombre_del_archivo_core

   Limita el número de procesos en ejecución a 1. Ejecuta a continuación una orden, por
    ejemplo, ps. ¿Qué está sucediendo?

Pues que limitamos el número de procesos abiertos a 1 mediante la orden ulimit –n 1

   ¿Qué podemos hacer para que tengan efecto siempre sobre cierto usuario? (Pista: ficheros
    profile).

Mediante el uso de un script en el .profile del usuario que queramos le indicaremos mediante un
ulimit el número de procesos que queramos tener abiertos simultáneamente.



                                                                                                 12
Práctica de Procesos                                            Francisco Javier Gavilán Escriche


Punto 7
Ordenes: at, atq, atrm. (Para poder recibir un correo cuando una orden programada con at se
ejecute es necesario que esté en ejecución el demonio sendmail).

   Si el demonio atd no está en ejecución, lánzalo para poder hacer este ejercicio.




   Programa con la orden at un “ls /” dentro de unos minutos. Comprueba cómo te avisa de que
    la orden ha sido ejecutada.

Una vez tengamos la orden ls / puesta en el terminal AT tendremos que darle a CTRL+D




   Programa con la orden at un “ls /tmp > $HOME/salidatmp” dentro de unos minutos.
    Comprueba cómo te avisa de que la orden ha sido ejecutada.




Comprobación que se ha creado el archivo salidatmp:




                                                                                                    13
Práctica de Procesos                                           Francisco Javier Gavilán Escriche




   Utiliza la orden atq para averiguar que hay en la cola y atrm para eliminar trabajos que hayan
    sido encolados.




Punto 8
Con la orden free averigua el estado de la memoria principal y de intercambio del sistema en este
momento.




                                                                                                   14

Más contenido relacionado

PPTX
Marco referencial
PDF
Cuadernillo de fracciones - Digital.pdf
DOCX
Ejercicios de diagramas de flujo en raptor
PDF
Práctica Active Directory 1-12
PDF
Cuadernillo de fracciones.pdf
PPTX
Diabetes Mellitus
PPTX
Hypertension
PPTX
Republic Act No. 11313 Safe Spaces Act (Bawal Bastos Law).pptx
Marco referencial
Cuadernillo de fracciones - Digital.pdf
Ejercicios de diagramas de flujo en raptor
Práctica Active Directory 1-12
Cuadernillo de fracciones.pdf
Diabetes Mellitus
Hypertension
Republic Act No. 11313 Safe Spaces Act (Bawal Bastos Law).pptx

La actualidad más candente (20)

PDF
Procesos linux
DOCX
Ventajas y desventajas
DOCX
Estructura del sistema operativo windows
PDF
Sistema Jerarquico
PPTX
Algoritmo del baquero
PDF
Planificacion windows
PDF
Comandos basicos en linux
PPTX
Fallas de la pc
PDF
Estados de un proceso
PDF
Inter process communication using Linux System Calls
PPTX
Administración de procesos y del procesador
PPTX
Scripts
PPTX
Gestion de memoria en windows
PPTX
Funciones y objetivos del sistema
DOCX
Cuadro comparativo de los sistemas operativos
PDF
Pasos para ensamblar el equipo de cómputo
PDF
Optimizacion de la busqueda de discos
PPT
Paradigmas de interacción
PDF
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
Procesos linux
Ventajas y desventajas
Estructura del sistema operativo windows
Sistema Jerarquico
Algoritmo del baquero
Planificacion windows
Comandos basicos en linux
Fallas de la pc
Estados de un proceso
Inter process communication using Linux System Calls
Administración de procesos y del procesador
Scripts
Gestion de memoria en windows
Funciones y objetivos del sistema
Cuadro comparativo de los sistemas operativos
Pasos para ensamblar el equipo de cómputo
Optimizacion de la busqueda de discos
Paradigmas de interacción
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
Publicidad

Destacado (13)

PDF
Linux ud7 - gestion de procesos
PDF
Unidad 3 gestion de procesos en linux
PDF
Practica 2 FTP
PPTX
Instalacion y monitorizacion de linux server y linux desktop
PPT
Introduccion A Los Procesos
PPT
Planificacion de procesos
PDF
Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...
PDF
Algoritmos y diagramas de flujo
PDF
Diagrama de Flujos Ejemplos.
PPSX
Proceso de Planeación
PPT
Diagramas de flujo, especificaciones y diseño de procesos
PPT
Estructuras repetitivas - pseudocodigo
PDF
Manual sqlserver2008 final
Linux ud7 - gestion de procesos
Unidad 3 gestion de procesos en linux
Practica 2 FTP
Instalacion y monitorizacion de linux server y linux desktop
Introduccion A Los Procesos
Planificacion de procesos
Diagramas de flujo - Estructuras de Control (For, While, Do Whille y Switch C...
Algoritmos y diagramas de flujo
Diagrama de Flujos Ejemplos.
Proceso de Planeación
Diagramas de flujo, especificaciones y diseño de procesos
Estructuras repetitivas - pseudocodigo
Manual sqlserver2008 final
Publicidad

Similar a Practica de procesos en Linux (20)

PDF
Procesos linux
PDF
Comandos centos
PPSX
Procesos
PDF
Tema 6 Cont www.fresymetal.com
PPTX
Portafolio 2
PPT
PPT
Procesos
PPT
Procesos
PPT
Curso de software03
PPTX
Procesos Introduccion a los sistemas operativos
PDF
Niveles de ejecución arranque y parada de los servicios
PPTX
procesos de los sistemas operativos
PPT
Semana 10 administracion de procesos
DOCX
Administración de procesos en ubuntu
PDF
Practica inittab y upstart
DOCX
Cuestionario procesos
PDF
Gestión de procesos
PPTX
Introduccion a los procesos
DOCX
Practicas 1 7 de unidad 3
DOCX
Tarea 3 actividad individual
Procesos linux
Comandos centos
Procesos
Tema 6 Cont www.fresymetal.com
Portafolio 2
Procesos
Procesos
Curso de software03
Procesos Introduccion a los sistemas operativos
Niveles de ejecución arranque y parada de los servicios
procesos de los sistemas operativos
Semana 10 administracion de procesos
Administración de procesos en ubuntu
Practica inittab y upstart
Cuestionario procesos
Gestión de procesos
Introduccion a los procesos
Practicas 1 7 de unidad 3
Tarea 3 actividad individual

Más de Terrafx9 (20)

PDF
Practica Streaming Audio 1
PDF
Práctica 3 iptables fran gavilan
PDF
Practica 2 iptables fran gavilan
PDF
Practica1 iptables fran_gavilan
PDF
Pfsense
PDF
Log mein pecha_kucha
PDF
Log mein documentacion
PDF
LogMeIn
PDF
Practica planificacion tareas_linux_fran_gavilan
PDF
Práctica 3 FTP
PDF
Practica1 pro ft_pd_fran_gavilan
PDF
Practica 2003 server_acitve_directory_fran_gavilan
PPT
Pecha kucha
PPSX
Pecha Kucha Mod_Security Apache2
PDF
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
PDF
Instalación de 2 CMS: Wordpress y Drupal
ODP
Gbd trabajo modeloentidadrelacion
PPT
Herramientas de la web 2
PPT
Herramientas de la web 2
PPT
Herramientas de la web 2
Practica Streaming Audio 1
Práctica 3 iptables fran gavilan
Practica 2 iptables fran gavilan
Practica1 iptables fran_gavilan
Pfsense
Log mein pecha_kucha
Log mein documentacion
LogMeIn
Practica planificacion tareas_linux_fran_gavilan
Práctica 3 FTP
Practica1 pro ft_pd_fran_gavilan
Practica 2003 server_acitve_directory_fran_gavilan
Pecha kucha
Pecha Kucha Mod_Security Apache2
Acceso a carpeta privada con LDAP e instalación de Joomla en HTTPS
Instalación de 2 CMS: Wordpress y Drupal
Gbd trabajo modeloentidadrelacion
Herramientas de la web 2
Herramientas de la web 2
Herramientas de la web 2

Practica de procesos en Linux

  • 1. Práctica de Procesos Administración de Sistemas Operativos Francisco Javier Gavilán Escriche 2ºA
  • 2. Práctica de Procesos Francisco Javier Gavilán Escriche Indice Objetivos..........................................................................................................................................2 Punto 1 .............................................................................................................................................4 Punto 2 .............................................................................................................................................4 Punto 3 .............................................................................................................................................6 Punto 4 .............................................................................................................................................6 Punto 5 ...........................................................................................................................................11 Punto 6 ...........................................................................................................................................12 Punto 7 ...........................................................................................................................................13 Punto 8 ...........................................................................................................................................14 1
  • 3. Práctica de Procesos Francisco Javier Gavilán Escriche Objetivos 1. Estudia la orden uptime:  ¿Cuánto tiempo lleva en marcha el sistema?  ¿Cuántos usuarios hay trabajando?  ¿Qué orden ofrece en su cabecera la misma información que uptime? 2. La orden pstree muestra el árbol de procesos que hay en ejecución. Comprueba haciendo uso de la orden ps -la y de los valores “PID” y “PPID” mostrados para cada proceso, que efectivamente los procesos son padre e hijo. 3. En muchos casos nos interesará “cortar columnas”. Recuerda el uso de tr y cut. Por ejemplo, ¿cómo funciona esta instrucción? ps aux | tr -s ’ ’ | cut -f 2,11 -d ’ ’ 4. Crea el fichero /tmp/bucle con el siguiente contenido: #!/bin/bash echo ’nada’ > /dev/null exec /tmp/bucle  Ejecuta la orden top en una terminal y comprueba el estado del sistema, a continuación lanza /tmp/bucle en otra. Observa cómo cambia el estado del sistema al lanzar el script. En una tercera terminal, comprueba con ps los procesos en ejecución.  Usando la combinación de teclas “Control-Z” para el proceso bucle. Una vez parado comprueba que la información mostrada por top va cambiando, hasta llegar un momento en el que no muestra información sobre dicho proceso. Fíjate que ha aumentado el número de procesos parados.  Reinicia el proceso con la orden fg y comprueba que vuelve a aparecer la información sobre el proceso.  Observa si mientras está en ejecución ese proceso cambia la carga media del sistema.  ¿Por qué aparece siempre el proceso bucle con el mismo PID si se lanza a sí mismo una y otra vez durante su ejecución?  Cambia la velocidad de referesco de top a 2s.  Desde el top, cambia la prioridad del proceso, dándole un valor menor, por ejemplo 10.  Usando la orden nice lanza otro proceso bucle con la prioridad de 5.  Observa que la CPU se le asignará más al segundo bucle lanzado, que tiene más prioridad, que al primero que se ejecutó, que tiene menos prioridad.  Asigna mediante renice una prioridad de 19 al bucle que lanzaste con prioridad 5. ¿Cómo afecta esto a la ejecución de los dos procesos?  Desde el top mata el bucle con prioridad 10. Fíjate que ahora, a pesar de que el que queda tiene prioridad 19, se le asigna más de la CPU que antes.  Haciendo uso de la orden kill, para el proceso bucle que aún queda en ejecución. Despu s usando tambi n kill rean dalo y finalmente elim nalo. 2
  • 4. Práctica de Procesos Francisco Javier Gavilán Escriche 5. Estudia el uso que se hace de la CPU, con mpstat, y el uso de memoria, con vmstat, que están haciendo en este momento los procesos en ejecución. Para que el sistema tenga tareas a realizar y acceso al disco al mismo tiempo, ejecuta la siguiente orden: find / -type f -exec cat {} > /dev/null ; 6. Prueba las opciones de ulimit. Ten en cuenta que una vez establecido un límite con ulimit no es posible establecer un nuevo límite mejor, para cambiar a un valor mejor es necesario finalizar ese intérprete de órdenes. Recuerda que los valores establecidos son por intérprete de órdenes.  Limita el número de ficheros abiertos a 2. A continuación ejecuta la orden “ls”. ¿Qué está sucediendo?  Limita el tamaño del fichero core a 2K.  Limita el número de procesos en ejecución a 1. Ejecuta a continuación una orden, por ejemplo, ps. ¿Qué está sucediendo?  ¿Qué podemos hacer para que tengan efecto siempre sobre cierto usuario? (Pista: ficheros profile). 7. Ordenes: at, atq, atrm. (Para poder recibir un correo cuando una orden programada con at se ejecute es necesario que esté en ejecución el demonio sendmail).  Si el demonio atd no está en ejecución, lánzalo para poder hacer este ejercicio.  Programa con la orden at un “ls /” dentro de unos minutos. Comprueba cómo te avisa de que la orden ha sido ejecutada.  Programa con la orden at un “ls /tmp > $HOME/salidatmp” dentro de unos minutos. Comprueba cómo te avisa de que la orden ha sido ejecutada.  Utiliza la orden atq para averiguar que hay en la cola y atrm para eliminar trabajos que hayan sido encolados. 8. Con la orden free averigua el estado de la memoria principal y de intercambio del sistema en este momento. 3
  • 5. Práctica de Procesos Francisco Javier Gavilán Escriche Punto 1 Estudia la orden uptime:  ¿Cuánto tiempo lleva en marcha el sistema? Lleva conectado 23 minutos al sistema  ¿Cuántos usuarios hay trabajando? Como se puede ver en la imagen están trabajando 2 usuarios, aunque con la orden who podríamos concretar quienes son.  ¿Qué orden ofrece en su cabecera la misma información que uptime? El comando TOP Aunque también con la orden w puede visualizarse en pantalla el tiempo que lleva cada usuario conectado al sistema. Punto 2 La orden pstree muestra el árbol de procesos que hay en ejecución. Comprueba haciendo uso de la orden ps la y de los valores “PID” y “PPID” mostrados para cada proceso, que efectivamente los procesos son padre e hijo. En un terminal lanzado un gedit con “gedit &” y me indica lo siguiente: 4
  • 6. Práctica de Procesos Francisco Javier Gavilán Escriche Ahora hacemos un ps la para ver los procesos que están en marcha en el sistema y como vemos por ejemplo el PID de gedit es 1859 y PPID (numero que hace mención a su proceso padre) es 1806, si buscamos cual es en el sistema su proceso padre vemos que bash tiene el PID 1806. Ahora mediante un pstree en otro terminal comprobamos que el proceso bash es el padre del proceso gedit 5
  • 7. Práctica de Procesos Francisco Javier Gavilán Escriche Punto 3 En muchos casos nos interesará “cortar columnas”. Recuerda el uso de tr y cut. Por ejemplo, ¿cómo funciona esta instrucción? ps aux | tr -s ‟ ‟ | cut -f 2,11 -d ‟ ‟ Ps aux  Listarte los procesos de todos los usuarios Tr –s „ „  elimina los espacios en blanco duplicados Cut –f  Corta la información por las columnas que nos interesa obtener información Punto 4 Crea el fichero /tmp/bucle con el siguiente contenido: #!/bin/bash echo ‟nada‟ > /dev/null exec /tmp/bucle  Ejecuta la orden top en una terminal y comprueba el estado del sistema, a continuación lanza /tmp/bucle en otra. Observa cómo cambia el estado del sistema al lanzar el script. En una tercera terminal, comprueba con ps los procesos en ejecución. 6
  • 8. Práctica de Procesos Francisco Javier Gavilán Escriche Primero lanzamos el comando top, después vamos a lanzar el proceso con un sh /tmp/bucle (si no funciona dar permisos a la carpeta tmp), acto seguido volvemos a consultar el top y vemos como se ha ejecutado el bucle y está ejecutándose como un proceso.  Usando la combinación de teclas “Control-Z” para el proceso bucle. Una vez parado comprueba que la información mostrada por top va cambiando, hasta llegar un momento en el que no muestra información sobre dicho proceso. Fíjate que ha aumentado el número de procesos parados. Una vez que paramos con CTRL+Z se detiene el bucle y aumenta el número de procesos parados  Reinicia el proceso con la orden fg y comprueba que vuelve a aparecer la información sobre el proceso. 7
  • 9. Práctica de Procesos Francisco Javier Gavilán Escriche  Observa si mientras está en ejecución ese proceso cambia la carga media del sistema. Si aumenta  ¿Por qué aparece siempre el proceso bucle con el mismo PID si se lanza a sí mismo una y otra vez durante su ejecución? Aparece siempre con el mismo PID debido a que lo que hacemos es parar el proceso y no matarlo.  Cambia la velocidad de refresco de top a 2s. Cuando estemos ejecutando el comando top le damos a la tecla d y acto seguido le metemos el tiempo de refresco que serán 2 segundos.  Desde el top, cambia la prioridad del proceso, dándole un valor menor, por ejemplo 10. Ejecutando el top le damos a la r y metemos el PID del proceso (en este caso el PID perteneciente al bucle anterior es el 11403) 8
  • 10. Práctica de Procesos Francisco Javier Gavilán Escriche Ahora establecemos para que tenga prioridad 10 Y más tarde vemos como el NI ha aumentado a 10  Usando la orden nice lanza otro proceso bucle con la prioridad de 5. En un terminal introducimos la siguiente orden: 9
  • 11. Práctica de Procesos Francisco Javier Gavilán Escriche  Observa que la CPU se le asignará más al segundo bucle lanzado, que tiene más prioridad, que al primero que se ejecutó, que tiene menos prioridad. En el comando top ejecutado anteriormente se puede observar cómo se ha creado un nuevo proceso llamado bucle con el NI a 5  Asigna mediante renice una prioridad de 19 al bucle que lanzaste con prioridad 5. ¿Cómo afecta esto a la ejecución de los dos procesos?  Desde el top mata el bucle con prioridad 10. Fíjate que ahora, a pesar de que el que queda tiene prioridad 19, se le asigna más de la CPU que antes. En la pantalla con el comando top ejecutado le damos a la k y nos pedirá el número de PID que queremos matar, justo después le metemos el número 15 para que mate el proceso y listo.  Haciendo uso de la orden kill, para el proceso bucle que aún queda en ejecución. Después, usando tambi n kill rean dalo y, finalmente, elim nalo. Kill -19  Para parar el proceso Kill -18  Para reanudar el proceso Posteriormente con un Kill -9 matamos el proceso. 10
  • 12. Práctica de Procesos Francisco Javier Gavilán Escriche Punto 5 Estudia el uso que se hace de la CPU, con mpstat, y el uso de memoria, con vmstat, que están haciendo en este momento los procesos en ejecución. Para que el sistema tenga tareas a realizar y acceso al disco al mismo tiempo, ejecuta la siguiente orden: find / -type f -exec cat {} > /dev/null ; Primero tenemos que instalar sisstat Ahora lo que vamos a hacer es un mpstat y vmstat del sistema antes de ejecutar la orden del enunciado y otro justamente después para ver los cambios que se han producido. Antes: 11
  • 13. Práctica de Procesos Francisco Javier Gavilán Escriche Después: Punto 6 Prueba las opciones de ulimit. Ten en cuenta que una vez establecido un límite con ulimit no es posible establecer un nuevo límite mejor, para cambiar a un valor mejor es necesario finalizar ese intérprete de órdenes. Recuerda que los valores establecidos son por intérprete de órdenes.  Limita el n mero de ficheros abiertos a 2. A continuación ejecuta la orden “ls”. ¿Qu está sucediendo?  Limita el tamaño del fichero core a 2K. ulimit -c 2 nombre_del_archivo_core  Limita el número de procesos en ejecución a 1. Ejecuta a continuación una orden, por ejemplo, ps. ¿Qué está sucediendo? Pues que limitamos el número de procesos abiertos a 1 mediante la orden ulimit –n 1  ¿Qué podemos hacer para que tengan efecto siempre sobre cierto usuario? (Pista: ficheros profile). Mediante el uso de un script en el .profile del usuario que queramos le indicaremos mediante un ulimit el número de procesos que queramos tener abiertos simultáneamente. 12
  • 14. Práctica de Procesos Francisco Javier Gavilán Escriche Punto 7 Ordenes: at, atq, atrm. (Para poder recibir un correo cuando una orden programada con at se ejecute es necesario que esté en ejecución el demonio sendmail).  Si el demonio atd no está en ejecución, lánzalo para poder hacer este ejercicio.  Programa con la orden at un “ls /” dentro de unos minutos. Comprueba cómo te avisa de que la orden ha sido ejecutada. Una vez tengamos la orden ls / puesta en el terminal AT tendremos que darle a CTRL+D  Programa con la orden at un “ls /tmp > $HOME/salidatmp” dentro de unos minutos. Comprueba cómo te avisa de que la orden ha sido ejecutada. Comprobación que se ha creado el archivo salidatmp: 13
  • 15. Práctica de Procesos Francisco Javier Gavilán Escriche  Utiliza la orden atq para averiguar que hay en la cola y atrm para eliminar trabajos que hayan sido encolados. Punto 8 Con la orden free averigua el estado de la memoria principal y de intercambio del sistema en este momento. 14