Come posso ottenere processi di stato in un progetto C? [duplicare]

Aug 18 2020

per il mio progetto C ho bisogno di sapere in quale stato (in esecuzione, in attesa, terminato, ...) i vari processi sono. I processi sono creati da me stesso usando molti fork (). Qualcuno ha idea di come farlo?

Esempio: ho un processo con PPID = x faccio 3 fork () -> ottengo tre nuovi processi con PID = x + 1, PID = x + 2 e PID = x + 3 (più o meno). Ho bisogno di sapere se i processi con PID = x + 1, PID = x + 2 e PID = x + 3 sono in esecuzione, in attesa o terminati.

Risposte

AnthonySchanen Aug 17 2020 at 23:24

se ne fai 3 fork()hai più di 3 nuovi processi. Hai 2 ^ n processi. n è il numero di volte che chiamifork()

per esempio

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

stampa questo

hello
hello
hello
hello
hello
hello
hello
hello

inoltre credo che la tua domanda abbia trovato risposta qui