Como o Windows / Linux atribui o PID aos processos?

0

Q1: Eu quero saber como o Windows / Linux atribui um PID a um processo quando esse processo começou? É um número aleatório delimitado? ou é fixo para um arquivo em uma computação? tem um algoritmo especial? e ...

Q2: É possível alterar o PID de um processo depois de iniciado?

Q3: É possível impedir que um arquivo seja executado (quero dizer, é possível restringir o SO para não atribuir nenhum PID a um arquivo)?

    
por TheGoodUser 22.09.2014 / 15:00

1 resposta

0

Esta resposta é específica do Windows.

Os PIDs não são aleatórios. PIDs (e IDs de encadeamento; eles estão no mesmo "espaço numérico") são gerenciados por meio de uma estrutura de tabela multinível exatamente da mesma maneira que são manipulados para objetos do kernel - embora os PIDs não sejam manipuladores. Como os valores de identificador, os PIDs são reutilizados agressivamente, mas, para todos os fins práticos, são imprevisíveis.

Q2: Não.

Q3: Não, porque o PID a ser atribuído a um novo processo é desconhecido. Tente. Execute uma instância do bloco de notas e feche-a. Algum tempo depois, execute outra instância do bloco de notas. Quase certamente seus dois blocos de notas terão PIDs diferentes.

    
por 24.09.2016 / 02:25