Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Vida de un proceso
Cuestionario Práctico30 minutos • 30 min
Envía tu tarea
Recibe la calificación
Tu calificación
100 %
¡Felicitaciones! ¡Aprobaste!
Calificación recibida 100 %
Para Aprobar 80 % o más
Vida de un proceso
Puntos totales 1
1.
Pregunta 1
1 / 1 punto
VERDADERO
FALSO
Correcto
Puedes navegar a través de la transcripción usando la pestaña. Para guardar una nota
para una sección de texto, presiona CTRL + S. Para expandir tu selección, puedes usar
CTRL + la tecla de flecha. Puedes contratar tu selección usando Shift + CTRL + tecla
de flecha. Para los lectores de pantalla que no son compatibles con el uso de teclas de
flecha para accesos directos, puedes reemplazarlos con las teclas H J K L. Algunos
lectores de pantalla pueden requerir el uso de CTRL junto con la tecla alt.
Muy bien, ahora hablemos sobre cómo ver los procesos que se ejecutan en nuestro
sistema en Linux.
Usaremos el comando ps. Sigamos adelante,
ejecutémoslo con el indicador -x y veamos qué ocurre.
Esto te muestra una instantánea de los procesos actualmente en ejecución en tu sistema.
Al principio, la salida de ps puede resultar abrumadora,
pero no te preocupes, te enseñaremos a leerla.
Vamos a empezar de derecha a izquierda, aquí.
P-I-D o PID
es el ID del proceso. Recuerda que los procesos obtienen un ID exclusivo cuando se
inician.
TTY, este es el terminal asociado al proceso.
No hablaremos de este campo,
pero puedes leer más sobre esto en las man pages vinculadas justo después de este
video.
STAT, este es el estado del proceso.
Si ves una R aquí significa que el proceso está en ejecución o esperando para ejecutarse.
Otro estado común que verás es T, para "detenido",
lo que significa que un proceso fue suspendido.
Otro que podrías ver es una S, para "sueño interrumpible",
es decir, la tarea está esperando que se complete un evento antes de reanudarse.
Puedes leer más sobre los otros tipos de estados de proceso en las man pages.
TIME: este es el tiempo total de CPU que duró el proceso.
Y por último, COMMAND: este es el nombre del comando que estamos ejecutando.
Bien, ahora vamos a ingresar al modo difícil.
Ejecuta este comando, ps -ef.
El indicador "e" se utiliza para obtener todos los procesos, incluso los ejecutados por
otros usuarios.
El indicador -f significa "full" y te muestra todos los detalles sobre un proceso.
Mira eso, tenemos más procesos y aún más detalles de procesos.
Vamos a analizarlo.
UID es el ID de usuario de la persona que inició el proceso.
PID es el ID de proceso y PPID es el ID del proceso principal
que analizamos en la lección anterior, cuando iniciamos el proceso.
C es el número de procesos secundarios que tiene este proceso.
STIME es la hora de inicio del proceso.
TTY es el terminal asociado al proceso.
TIME es el tiempo total de CPU que duró el proceso.
y CMD o "command" es el nombre del comando que estamos ejecutando.
¿Y si quisiéramos buscar algo a través de esta salida?
Está muy desordenada en este momento.
¿Se te ocurre una manera en que podamos ver si un proceso se está ejecutando?
Correcto,
con el comando grep. Te dije que lo íbamos a usar todo el tiempo.
Esto nos dará una lista de procesos que tienen el nombre Chrome en ellos.
Hay otra manera de ver información del proceso,
recuerda que, en Linux, todo tiene un archivo, incluso los procesos.
Para ver los archivos que corresponden a los procesos podemos mirar
en el directorio /proc.
Hay muchos directorios aquí para cada proceso en ejecución.
Si miraras dentro de uno de los subdirectorios, te dará mucha más información
acerca del proceso.
Veamos un archivo de proceso de muestra para PID 1805.
Esto nos dice mucha más información sobre estados de proceso que lo que vimos en PS.
Si bien es interesante mirar el directorio /proc,
no es muy práctico cuando necesitamos solucionar problemas con los procesos.
Por ahora, quedémonos con el comando ps -ef para ver la información del proceso.
Como ves, podemos aprender mucho sobre los procesos que se ejecutan
en nuestra máquina con solo teclear un poco.
En una próxima lección, hablaremos sobre cómo usar la información del proceso para
nuestro beneficio
cuando tenemos que averiguar qué procesos están ocupando demasiados recursos.
Por ahora, siéntete libre de aprender un poco más sobre los procesos que estás
ejecutando.
Te estaré esperando en el siguiente video.
Vamos a hablar sobre cómo usar señales para administrar procesos en Linux.
En primer lugar, finalizar procesos.
Podemos finalizar un proceso usando el comando kill.
Puede sonar un poco morboso,
pero es así en el cruel mundo de la finalización de procesos.
El comando kill sin ningún indicador envía una señal de finalización o SIGTERM.
Esto terminará el proceso,
pero le dará algo de tiempo para liberar los recursos que estaba usando.
Si no le das al proceso la oportunidad de limpiar algunos de los archivos con los que
estaba trabajando,
podría causar la corrupción del archivo.
Voy a mantener abierta una ventana de proceso para que puedas ver
cómo nuestros procesos se ven afectados cuando ejecutamos estos comandos.
Entonces, para finalizar un proceso, usaremos el comando kill
junto con el PID del proceso que queremos finalizar.
Sigamos adelante y terminemos este proceso de Firefox.
Y si observamos la ventana de procesos,
podemos ver que el proceso ya no se está ejecutando.
La otra señal que podrías ver aparecer de vez en cuando es la señal SIGKILL.
Esto terminará tu proceso con un montón de disparos metafóricos.
Usar un SIGTERM es como decirle a tu proceso:
''Hola, proceso, no necesito que te completes ahora mismo.
¿Podrías dejar de hacer lo que estás haciendo?''.
Y usar SIGKILL es, básicamente, decirle a tu proceso:
"Muy bien, es hora de morir".
La señal hace todo lo posible para asegurarse de que tu proceso
finalice por completo, y lo terminará sin darle tiempo para que limpie.
Para enviar una señal SIGKILL,
puedes agregarle al comando kill el indicador -KILL para SIGKILL.
Abramos Firefox una vez más.
Entonces: kill -KILL 10392,
y ahora puedes ver que el proceso de Firefox fue eliminado.
Estas son las dos formas más comunes de finalizar un proceso.
Pero es importante señalar que kill -KILL
se usa como último recurso para terminar un proceso.
Como no hace ninguna limpieza,
podrías terminar haciéndoles a tus archivos más mal que bien.
Supongamos que tenías un proceso en ejecución que no querías finalizar,
quizás solo ponerlo en pausa.
Puedes hacerlo enviando la señal SIGTSTP, que significa "detención de terminal",
la que pondrá tu proceso en estado suspendido.
Para enviar esto, puedes usar el comando kill con el indicador -TSTP.
Voy a ejecutar ps -x para que puedas ver el estado de los procesos.
Solo vamos a poner este proceso en estado suspendido.
Entonces: kill -TSTP.
Ahora puedes ver que el proceso 10754 está en estado suspendido.
También puedes enviar la señal SIGTSTP usando la combinación de teclado Control +
Z.
Para reanudar la ejecución del proceso,
puedes utilizar SIGCONT, que significa "continuar la señal".
Vamos a ver la tabla de procesos de nuevo.
Voy a seguir adelante y a usar ese comando en este proceso.
Ahora, si vuelvo a ver el proceso,
el estado del proceso pasó de una T a una S.
SIGTERM, SIGKILL, y SIGSTP son algunas
de las señales más comunes que verás cuando trabajes con procesos en Linux.
Ahora que comprendes estas señales,
usémoslas para que nos ayuden a aprovechar mejor los recursos de hardware.
Procesos de gestión
Puntos totales 2
1.
Pregunta 1
¿Cuál de las siguientes herramientas pueden ayudarte a reunir información sobre los
procesos que se ejecutan en un sistema operativo Windows?
1 / 1 punto
El Administrador de tareas
Correcto
¡Buen trabajo! Todas estas herramientas pueden ayudarte a reunir información sobre los
procesos que se ejecutan en un sistema operativo Windows.
2.
Pregunta 2
1 / 1 punto
cmd.exe
Explorador de procesos
windows.exe
mamaypapa.exe
Correcto
1.
Pregunta 1
1 / 1 punto
Get-Process | Sort CPU -descending | Select -first 1 -Property ID, ProcessName, CPU
Get-Process | Sort RAM -descending | Select -first 1 -Property ID, ProcessName, CPU
cpu_usage.exe | top -1
Correcto
¡Bravo! Ese comando es la solución ideal. Filtrará la salida del comando Get-Process
para determinar el usuario principal del recurso de CPU y otorgar su ID de proceso,
nombre y la cantidad de CPU utilizada.
2.
Pregunta 2
Si tienes una computadora lenta, ¿cuáles son algunas de las causas que podrían provocar
esto?
1 / 1 punto
Correcto
¡Lo lograste! Una computadora lenta podría indicar muchas cosas, pero es siempre
conveniente comprobar primero cómo se utilizan tus recursos.
Correcto
¡Lo lograste! Una computadora lenta podría indicar muchas cosas, pero es siempre
conveniente comprobar primero cómo se utilizan tus recursos.
Correcto
¡Lo lograste! Una computadora lenta podría indicar muchas cosas, pero es siempre
conveniente comprobar primero cómo se utilizan tus recursos.
Correcto
¡Lo lograste! Una computadora lenta podría indicar muchas cosas, pero es siempre
conveniente comprobar primero cómo se utilizan tus recursos.
3.
Pregunta 3
En una máquina Linux, ¿qué comando puedes usar para finalizar de forma segura un
proceso con un PID de 342?
1 / 1 punto
kill 342
Correcto
¡Buen trabajo! Para finalizar un proceso de forma segura, envía la señal SIGTERM.
4.
Pregunta 4
En una máquina Linux, ¿qué comando puedes usar para terminar totalmente un proceso
con un PID de 342?
1 / 1 punto
kill 342
Correcto
5.
Pregunta 5
En un equipo Linux, ¿qué comando puedes usar para suspender un proceso con un PID
de 342?
1 / 1 punto
kill 342
Correcto