GNU/Linux >> Tutoriales Linux >  >> Linux

30 ejercicios de procesos de Linux para administradores de sistemas

Este es el conjunto de ejercicios que sigue al artículo Explicación de los procesos de Linux.

Si leyó detenidamente el artículo y comprendió los principios detallados en el interior, debería poder responder a la mayoría de las preguntas.

Si encuentra algún error o imprecisión, no dude en dejar un comentario.

¡Buena suerte!

Aspectos básicos de los procesos

  • Pregunta 1 :en su host Linux, hay muchos procesos ejecutándose a la vez. Sin embargo, una información puede identificar de forma única un proceso.

¿Cómo se llama?

Expand MeOn Linux, un proceso se puede identificar de forma única mediante un PID (o ID de proceso), que no se puede asignar a dos procesos distintos a la vez.
  • Pregunta 2 :cuando su sistema arranca, inicia el primer proceso en su instancia.

¿Cómo se llama?

Expand MeIt se denomina proceso de inicio y se utiliza para ejecutar scripts de inicialización para redes, trabajos o módulos. En distribuciones recientes, ha sido reemplazado por un proceso systemd.
  • Pregunta 3 :actualmente tiene una terminal de shell abierta en su host y ejecuta el siguiente comando.

Internamente, ¿cuáles son las llamadas del sistema que se invocan para ejecutar dicho comando?

Expanda MeFirst, el kernel bifurcará el proceso actual (es decir, el intérprete bash) en un nuevo proceso. A continuación, la imagen del proceso bash será reemplazada por la imagen cargada del programa ls. Finalmente, se ejecuta el comando.
  • Pregunta 4 :abre una terminal shell en su host haciendo clic en "Terminal".

En resumen, describe cómo funciona la terminal .

Expand Me La terminal es un proceso interactivo simple que espera perpetuamente la entrada del usuario. Cuando se emite un comando, el comando se ejecuta al bifurcarse en un nuevo proceso y ejecutar el comando en él. Mientras tanto, el proceso principal (es decir, el propio terminal) espera la finalización del proceso secundario. Cuando ha terminado, se reanuda el proceso principal.

Comandos de procesos

  • Pregunta 5 :el administrador del sistema le pide que identifique todos los procesos que posee en el host.

¿Qué comando ejecutarías para hacer eso?

Expand Me La forma más fácil de hacerlo es ejecutar el comando ps. De forma predeterminada, no informará sobre los dispositivos tty, pero puede optar por ejecutar "ps u" para ver todos los procesos.
  • Pregunta 6 :el administrador del sistema le pide que identifique todos los procesos de su sistema.

¿Puede proporcionar dos comandos que muestren todos los procesos en el host?

Expandir Me Para mostrar todos los procesos en Linux, puede usar "ps aux" (que es una sintaxis BSD) o "ps -ef" (que es una sintaxis POSIX)
  • Pregunta 7 :¿Qué comando muestra los procesos como un árbol en Linux?
ExpandirmePara mostrar todos los procesos como un árbol de procesos, debe usar el comando "pstree".

Procesos de fondo y de primer plano

  • Pregunta 8 :¿qué sintaxis se usa en Linux para ejecutar un proceso en segundo plano?
Expandir MePara ejecutar un proceso en segundo plano, debe agregar un signo "&" al final del comando.
  • Pregunta 9 :¿cuál es el término que describe un proceso que se inició en un shell de terminal?
El proceso Expand MeA ejecutado en un shell se denomina "trabajo" y el comando de trabajos muestra sus trabajos de shell actuales.
  • Pregunta 10 :ejecutó un comando en segundo plano, pero desea que su proceso se ejecute en primer plano.

¿Qué comando ejecutarías?

Expand MeLa identificación del trabajo es 1, por lo que ejecutaría "fg %1"
  • Pregunta 11 :su proceso ahora se ejecuta en primer plano .

¿Qué controles presionarías en tu teclado para detener el proceso (y no matarlo)?

Expand MePara detener un proceso, o para enviar una señal SIGSTOP a un proceso, debe presionar Ctrl + Z.
  • Pregunta 12 :su proceso ahora está interrumpido.

¿Cómo reanudarías la ejecución en segundo plano?

Expand MePara reanudar la ejecución, puede ejecutar el comando "bg %1".
  • Pregunta 13 :¿Qué teclas puede presionar en su teclado para enviar un SIGINT a un proceso en primer plano?
ExpandirmePara enviar un SIGINT a una señal en primer plano, tendría que presionar Ctrl + C.

Señales y Procesos

  • Pregunta 14 :¿cómo definiría una señal cuando se trata de procesos?
Expand MeOn Linux, las señales son una forma de comunicación entre procesos (también llamada IPC) que crea y envía notificaciones asincrónicas a los procesos en ejecución sobre la ocurrencia de un evento específico. Las señales pueden ser informativas (SIGUSR1, SIGUSR2, por ejemplo) o pueden usarse para transmitir una orden específica al proceso (interrupción, parada, eliminación)
  • Pregunta 15 :¿Qué señal se usa en Linux para cerrar suavemente un proceso?
Expand MePara cerrar correctamente un proceso, debe usar la señal SIGTERM (también conocida como número de señal 15)
  • Pregunta 16 :por otro lado, digamos que quieres matar un proceso inmediatamente, ¿qué señal usarías para eso? ¿Cuál es el número de esta señal?
Expand Me Para eliminar un proceso sin darle la oportunidad de cerrarse correctamente, debe emitir una señal SIGKILL (también conocida como señal 9)
  • Pregunta 17 :ejecutó el siguiente comando en su terminal.

El proceso tarda mucho tiempo en ejecutarse, por lo que decide abandonar su host y apagar su terminal actual.

¿Qué pasó?

Expand Me Cuando cerró su terminal, se envió una señal SIGHUP al proceso. Como consecuencia, el proceso se detuvo de inmediato.
  • Pregunta 18 :¿Qué soluciones puedes dar para evitar lo que acaba de pasar?
ExpandirmePara evitar que un proceso se elimine con una señal SIGHUP, puede usar el comando "nohup" de la siguiente manera "nohup ./script &"
  • Pregunta 19 :fuera de su cabeza, ¿puede proporcionar otras señales utilizadas en los sistemas Linux?
Expande MeSIGQUIT una señal que se invoca cuando estás saliendo de una sesión interactiva. Se puede usar en shells de terminales o en sesiones SSH, por ejemplo. SIGCONT es una señal utilizada para reanudar un proceso detenido (después de un SIGSTOP)

Comandos de procesos avanzados

  • Pregunta 20 :¿Qué comando se usa en Linux para listar todos los procesos dado un patrón específico?
Expandir MePara buscar procesos dado un patrón específico, puede usar el comando "pgrep" con la siguiente sintaxis "pgrep "
  • Pregunta 21 :¿Qué comando usaría para eliminar fácilmente (SIGKILL) todos los procesos que comienzan con "fuego"?
Expandir Me Para eliminar todos los procesos que comiencen con "fuego", ejecutaría "pkill fuego*"
  • Pregunta 22 :en Linux, ¿qué comando se usa para ejecutar un proceso con un nivel de prioridad personalizado?
Expand Me“Nice” es el comando que se usa para ejecutar un comando con una prioridad personalizada, para que use más o menos recursos de CPU.
  • Pregunta 23 :un proceso tiene un buen nivel de 19, ¿va a utilizar tantos recursos como sea posible?
Expanda MeNo, cuanto mejor sea el proceso, más dispuesto estará a compartir recursos con otros. Como consecuencia, el proceso tiene un nivel de prioridad muy bajo.
  • Pregunta 24 :¿cuál es el nivel agradable predeterminado cuando se crean procesos en Linux?
Expand MeDe forma predeterminada, los procesos se crean con un buen nivel de 0.
  • Pregunta 25 :como no usuario de sudo, ¿puede crear un proceso con un buen nivel de -5?
Expanda MeNo, los usuarios que no son sudo no pueden crear procesos con un nivel agradable inferior al predeterminado asignado. Además, cuando creó un proceso con un nivel agradable personalizado, no puede reducirlo, incluso si es mayor que cero.
  • Pregunta 26 :¿Qué comando se puede usar para establecer la prioridad de un proceso en ejecución en Linux?
Expand Me Para personalizar la prioridad de un proceso en ejecución, debe usar el comando "renice" con esta sintaxis "renice -n "

Procesos de Monitoreo

  • Pregunta 27 :¿Qué comando se puede usar en Linux para monitorear procesos en tiempo real?
Expandir Me Para monitorear los recursos utilizados por los procesos, se puede usar el comando "superior" o el comando "htop" para una visualización más amigable.
  • Pregunta 28 :¿Qué método abreviado se puede usar en el comando superior para cambiar la frecuencia de actualización?
ExpandirmePara cambiar la frecuencia de actualización, puede presionar la tecla "d" y establecerla en 1.0, por ejemplo.
  • Pregunta 29 :¿qué opción se puede usar para ejecutar el comando superior para un número personalizado de iteraciones?
Expandir Me Para ejecutar "superior" para un número determinado de iteraciones, puede utilizar "superior –n "
  • Pregunta 30 :¿conoce alguna otra solución para monitorear los procesos de Linux de manera efectiva?
Expand Me Para monitorear sistemas Linux, un administrador de sistemas puede usar Cockpit, Grafana, Prometheus, Nagios o Telegraf.

Conclusión

Con esos ejercicios de procesos de Linux, es de esperar que haya aprendido más sobre los procesos, cómo puede manejarlos y monitorearlos de manera efectiva.

¿Quieres más ejercicios?

  • 30 ejercicios de permisos de Linux para administradores de sistemas

Si tiene curiosidad acerca de la administración del sistema Linux, tenemos una sección completa dedicada a ella en el sitio web.


Linux
  1. 12 ejemplos de comandos IP para usuarios de Linux

  2. 20 ejemplos de comandos ps para monitorear procesos de Linux

  3. Conceptos básicos de comandos de Linux:7 comandos para la gestión de procesos

  4. Consejos de línea de comandos de Linux para aumentar la productividad

  5. comando linux ps

Cómo MATAR un proceso en Linux

30 ejercicios de permisos de Linux para administradores de sistemas

Tutorial de comandos Netstat de Linux para administradores de sistemas [40 ejemplos]

40 ejemplos útiles de comandos PS de Linux para aspirantes a administradores de sistemas

Comandos para la Gestión de Procesos en Linux

UNIX/Linux:7 ejemplos prácticos de comandos PS para el monitoreo de procesos