-
probleme de kill
voila je vous explique mon probleme je dois faire un programme ou il y a plusieurs processus fils 8 au total qui se partage une matrice et qui choisissent des cases aleatoires seulement si celle ci est deja occupe par un autre processus alors il doit le tuer je fait donc ceci
printf("0 si ok et -1 sinon %d",kill(Data.tab[x][y],SIGKILL));
j'obtient à l'exécution 0 si ok et -1 sinon 0 donc tout se passe bien apparement seulement le processus n'est pas tué et continue de s'exécuter alors je ne vois absolument pas pourquoi
-
ton énoncé n'est pas complète ...
quelle type de thread utilise tu ? tu fork un process ? ou utilise tu la lib pthread ?
-
excuse je n'ai pas été très précis aucun thread n'est utilisé en fait le père fait plusieurs fork mais pas de thread et je ne vois vraiment pas pourquoi il ne me tue pas les processus je bloque complet là !!!
-
Je n'ai pas très bien compris ton énoncé, mais ce que je ne comprend pas c'est le premier argulent de ton kill, il me semble que si tu veut envoyer un signal pour tuer le processus, il faut passer à kill le pid du processus.
-
ben en fait la matrice qui est partagée est une matrice de pid et quand l'instruction est exécutée avec un 0 le processus s'arrête correctement mais pas dans les autres cas alors je ne vois pas du tout comment faire.
-
-
-
merci les gars pour votre aide le problème est résolu en fait il n'y a qu'avec le valeur entière 0 qu'il comprends moi je croyais que l'on pouvais passer un entier a kill en paramètre mais il se trouve qu'il fallait bien lui passer le pid_t donc voila ça a l'air de fonctionner en tout cas merci de vos conseils