Como seria um diagrama para (ls)?

Como seria um diagrama para (ls)?

Este é um diagrama do que acontece depois que alguém entra lsno bash e o executa: insira a descrição da imagem aqui

a primeira parte mostra a situação antes de lsser executada.Bashé um processo filho do emulador de terminaltermo xe eles têm a mesma aura, o ambiente, ao seu redor. Oxxmarcas indicam que ambosXtermeBash, já que os processos Pai e Filho possuem o conjunto idêntico de variáveis ​​de ambiente.

a segunda parte mostra o que acontece depois de iniciar um novo processo, nomeadamente ls.

  1. Bash gera um processo filho, que é uma cópia exata de si mesmo, por isso o nomeeiBash_c(abreviação de Bash_copy).
  2. Então,Bash_cestá sendo substituído pelo processo ls.

Acho que este diagrama é direto, autoexplicativo, intuitivo e não ambíguo.

Porém, não desenhei um diagrama para (ls), porque não sei como seria, tenho alguns cenários diferentes de como poderia ser, mas aqui começa a parte da questão: Como seria um diagrama para (ls)? por favor desenhe e comente.

Responder1

A hierarquia do processo for (ls)é a mesma de for ls, ou seja → bash → ls, mas se você colocar uma lista de comandos entre parênteses: (ls; ls), então bash inicia um subshell e executa os comandos nesse subshell. A hierarquia de processos resultante é semelhante a esta: → bash → bash → ls(os dois processos ls são executados em sequência).

Você pode visualizar isso usando cat sem argumentos em vez de ls: (cat; cat). O primeiro processo cat aguarda a entrada, dando a você a chance de ver o que está acontecendo usando pstreeou topem outro terminal.

informação relacionada