J'essaie de créer un arbre de processus, mais voici ce que ma sortie est en ce moment: https://gyazo.com/a71f4e095b69080a6d6a11edd2c0df27 Le problème est que je veux faire ressembler le diagramme que j'ai dessiné sur la droite, mais peut ne semble pas comprendre comment. J'imprime chaque ID de parent de processus d'enfant et après cela je vais les supprimer commençant par 2, puis 1 (en envoyant un signal de SIGKILL après 5 secondes). Comment puis-je faire ressembler l'arbre de processus au résultat souhaité? Voici mon code:C Aide à la création d'un arbre de processus
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main()
{
int root, t1, t2, i;
root = getpid();
printf("root %d\n", root);
for (i = 1; i < 3; i++)
{
t1 = fork();
//printf("%d\n", t1);
if(t1!=0)
{
t2 = fork();
}
if (t1 !=0 && t2 != 0)
{
break;
}
printf("child pid %d parent pid %d\n", getpid(), getppid());
}
sleep(10);
return 0;
}
Merci!
Et si je voulais les supprimer du bas vers le haut (donc supprimer tous les processus enfants de 2 puis tuer 1) Comment ferais-je cela? Est-ce que j'utiliserais SIGKILL? J'ai essayé deux fois de lancer SIGKILL, mais il ne fait qu'imprimer une fois "tué", puis il quitte le programme et je ne suis pas sûr de savoir comment vérifier qu'il a fait ce que je voulais. –