O que é o sistema de garfo chama em C ++

O que é o sistema de garfo chama em C ++
O garfo() é um sistema que exige a criação do Criar processos filhos com a ajuda do processo pai. Quando garfo() é usado, é formado um novo processo infantil que é independente do processo pai e possui seu próprio armazenamento e alocação de recursos.

Em C ++, o garfo() O sistema chama duplica o processo pai para produzir um novo processo infantil. É empregado para produzir um nó infantil que é uma réplica perfeita do nó pai, completo com todos os seus atributos, descritores do sistema de arquivos e locais de armazenamento. É útil em cenários quando um usuário deseja criar uma instância de um programa que já está em execução no sistema ou ele/ela quer iniciar um novo programa.

Declaração de Fork () em C++

O "garfo ()" A função, proveniente de sistemas operacionais UNIX/Linux, não faz parte da biblioteca C ++ padrão, portanto é acessível através do “Unistd.h " arquivo de cabeçalho.

#incluir
pid_t fork ();

Retornar valores no garfo ()

O garfo() Função retorna dois valores 0 e -1.

  • Pode fornecer o valor de retorno do processo da criança como 0 ao dar ao processo pai, após a conclusão bem -sucedida, o ID do processo do processo filho.
  • Isto Retorna um valor -1 Quando o processo infantil não for criado, e gerará automaticamente um erro.

Significado de fork () em c++

  • Usando garfo (), Os desenvolvedores fazem processamento paralelo ao mesmo tempo, criando vários processos.
  • Permite que o processo crie um clone de si mesmo chamado processo infantil.
  • Ele nos permite criar programas complexos com segurança e melhor tolerância a falhas.
  • Os processos pais e filhos são executados simultaneamente.
  • Usado para aplicações multitarefa.
  • Ajuda dois processos independentes diferentes para se comunicar.

Um exemplo simples de fork () em c++

Aqui está um exemplo de como utilizar C ++ 's garfo () função com sucesso:

#incluir
#incluir
usando namespace std;
int main ()

pid_t child_id = fork ();
if (Child_id == -1)
Perror ("Fork");
saída (exit_failure);

else if (child_id> 0)
cout << "Message from Parent process My child has process ID: " << child_id << endl;

outro
cout << "Message from Child Process: " << child_id ;

retornar 0;

No exemplo acima, o garfo() O método responde em ambos os processos com argumentos não ou nulos. Como visto abaixo da saída, o ID do processo de um processo infantil é o processo pai e o próprio processo filho retorna 0. O pai retorna -1 se não funcionar.

Saída

Conclusão

No geral, o garfo() A função do sistema é um recurso forte que permite que os programadores C ++ geram e controlem vários processos. O sistema de sistema garfo() aumenta o desempenho de programas complexos e permite fazer multi processos. São necessários zero parâmetros e retorna valores inteiros com processos correspondentes.