![Como o terminal no Linux realmente funciona?](https://rvso.com/image/192229/Como%20o%20terminal%20no%20Linux%20realmente%20funciona%3F%20.png)
Estou usando o console Linux há anos, mas atualmente comecei a pensar em como ele realmente funciona. Digitar a command
como uma string e pressionar Enter
retorna sua saída na mesma janela do terminal.
Abrir uma nova janela de terminal e executar tty
mostra o seguinte resultado:
$ tty
/dev/pts/10
Página de manual em ptydefine que:
Um processo que espera estar conectado a um terminal pode abrir a extremidade escrava de um pseudoterminal e então ser acionado por um programa que abriu a extremidade mestre. Qualquer coisa escrita no lado mestre é fornecida ao processo no lado escravo como se tivesse sido digitada em um terminal.[...]Por outro lado, qualquer coisa que seja escrita na extremidade escravo do pseudoterminal pode ser lida pelo processo que está conectado à extremidade mestre.
Meu entendimento:
A janela do terminal real é conectada a um escravo /dev/pts/10
e todas as entradas que digito na janela do terminal são escritas na extremidade do escravo e depois lidas na extremidade do mestre. Um processo conectado ao terminal mestre sabe o que fazer com todas as strings do tipo usuário, executa-as e escreve os resultados dos comandos no terminal mestre que são então lidos no terminal escravo e exibidos na janela do terminal.
A questão:
Qual é o processo conectado ao master que sabe executar comandos que os usuários digitam como strings?