Por que várias instâncias do Mate-terminal possuem o mesmo PID?

2

Eu notei que todas as instâncias do terminal que eu inicio, seja dentro de um terminal de mate ou através de um botão de link, tem o mesmo PID.

Por exemplo, eu tenho algo como

 $ wmctrl -lp
 <omitted lines that don't matter>
 0x03c0001f  1 7411   <hostname> Terminal
 0x03c06b9f  1 7411   <hostname> Terminal
 0x03c07349  1 7411   <hostname> Terminal
 0x03c073f4  1 7411   <hostname> Terminal
 0x03c0749f  1 7411   <hostname> Terminal
 0x03c0754c  1 7411   <hostname> Terminal
 0x03c075f9  1 7411   <hostname> Terminal
 0x03c076a6  1 7411   <hostname> Terminal
 0x0340000b  1 <pid1> <hostname> xeyes
 0x0460000b  1 <pid2> <hostname> xeyes

que mostra claramente que existem várias janelas do Terminal, todas com o mesmo PID. Como dito acima, não importava se o processo foi iniciado dentro de um terminal ou se você clicou em um link da barra de menus . Nem importava se comecei ou não o processo em segundo plano dentro do terminal.

Qual é a regra aplicada aqui, ou "por que isso é assim"?
Meu entendimento costumava ser que todos os comandos que eu inicio em um shell obteriam um PID exclusivo.

Não é impraticável ter vários terminais com o mesmo PID?
Eu não posso mais matá-los individualmente pelo PID.

Editar: Versão do Kernel: 3.16.0-4-amd64

    
por polynomial_donut 30.08.2015 / 22:59

2 respostas

3

Todas as instâncias do Mate Terminal possuem o mesmo PID, porque na verdade são um único processo que exibe várias janelas. O Mate Terminal é executado em um único processo porque é assim que o aplicativo é projetado. Quando você executa o comando mate-terminal , entra em contato com o processo existente e envia uma instrução para abrir uma nova janela.

A partir do Mate Terminal 1.8.1, você pode executar mate-terminal --disable-factory para abrir uma nova janela em um novo processo. Tenha em atenção que esta opção foi removida da versão do Gnome em 3.10 ; Não sei se os desenvolvedores do Mate decidiram mesclar essa mudança. Consulte Execute várias instâncias reais de processo do gnome-terminal para uma pergunta semelhante sobre o terminal Gnome.

    
por 31.08.2015 / 02:32
0

Tentando realmente responder à pergunta "por que":

Se todas as janelas fossem manipuladas por um processo diferente, você não seria capaz de arrastar e soltar uma guia de uma janela para outra ou cair na área de trabalho para criar uma nova janela para isso.

    
por 12.09.2015 / 23:56