¿Cómo puedo obtener procesos de estado en un proyecto C? [duplicar]

Aug 18 2020

para mi proyecto C, necesito saber en qué estado (en ejecución, en espera, finalizado, ...) se encuentran los distintos procesos. Los procesos son creados por mí mismo usando muchos fork (). ¿Alguien tiene alguna idea de cómo hacer eso?

Ejemplo: tengo un proceso con PPID = x hago 3 fork () -> obtengo tres procesos nuevos con PID = x + 1, PID = x + 2 y PID = x + 3 (más o menos). Necesito saber si los procesos con PID = x + 1, PID = x + 2 y PID = x + 3 están en ejecución, esperando o terminados.

Respuestas

AnthonySchanen Aug 17 2020 at 23:24

si hace 3 fork(), tiene más de 3 procesos nuevos. Tienes 2 ^ n procesos. n siendo el número de veces que llamasfork()

por ejemplo

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

imprime esto

hello
hello
hello
hello
hello
hello
hello
hello

también creo que su pregunta ha sido respondida aquí