Como posso obter processos de status em um projeto C? [duplicado]

Aug 18 2020

para meu projeto C, preciso saber em que estado (executando, aguardando, finalizado, ...) estão os vários processos. Os processos são criados por mim mesmo usando muitos fork (). Alguém tem ideia de como fazer isso?

Exemplo: Tenho um processo com PPID = x faço 3 fork () -> obtenho três novos processos com PID = x + 1, PID = x + 2 e PID = x + 3 (mais ou menos). Preciso saber se os processos com PID = x + 1, PID = x + 2 e PID = x + 3 estão em execução, aguardando ou encerrados.

Respostas

AnthonySchanen Aug 17 2020 at 23:24

se você fizer 3 fork()'s, terá mais de 3 novos processos. Você tem 2 ^ n processos. sendo o número de vezes que você ligafork()

por exemplo

#include <stdio.h> 
#include <sys/types.h> 
int main() 
{ 
    fork(); 
    fork(); 
    fork(); 
    printf("hello\n"); 
    return 0; 
}

imprime isso

hello
hello
hello
hello
hello
hello
hello
hello

também acredito que sua pergunta foi respondida aqui