¿Cómo se vería un diagrama para (ls)?

¿Cómo se vería un diagrama para (ls)?

Este es un diagrama de lo que sucede después de que uno ingresa lsal bash y lo ejecuta: ingrese la descripción de la imagen aquí

la primera parte muestra la situación antes de que lsse ejecute.Intentoes un proceso hijo del emulador de terminalxtermy tienen la misma aura, el entorno que los rodea. ElxxLas marcas indican que ambosxtermyIntento, ya que los procesos padre e hijo poseen el conjunto idéntico de variables de entorno.

la segunda parte muestra lo que sucede después de haber iniciado un nuevo proceso, es decir, ls.

  1. Bash genera un proceso hijo, que es una copia exacta de sí mismo, por eso lo nombrébash_c(abreviatura de Bash_copy).
  2. Entonces,bash_cestá siendo reemplazado por el proceso ls.

Creo que este diagrama es sencillo, se explica por sí mismo, intuitivo y no es ambiguo.

Sin embargo, no he dibujado un diagrama para (ls), porque no sé cómo se ve. Tengo algunos escenarios diferentes de cómo podría verse, pero aquí comienza la parte de la pregunta: ¿Cómo se vería un diagrama para (ls)? por favor dibuja y comenta.

Respuesta1

La jerarquía del proceso para (ls)es la misma que para ls, es decir → bash → ls, pero si coloca una lista de comandos entre paréntesis: (ls; ls), entonces bash inicia un subshell y ejecuta los comandos en ese subshell. La jerarquía de procesos resultante se ve así: → bash → bash → ls(los dos procesos ls se ejecutan en secuencia).

Puedes visualizar esto usando cat sin argumentos en lugar de ls: (cat; cat). El primer proceso cat espera la entrada, lo que le brinda la oportunidad de ver qué está sucediendo usando pstreeo topen otra terminal.

información relacionada