Bonsoir,

Je dois écrire un programme dans lequel le processus fils affiche un message dans une boucle while,
Le processus père propose un menu comme cela :

(s)---> endormir fils
(r)---> redémarre fils
(q)---> tuer le fils

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<signal.h>
int main(int argc, char *argv[])
{
	pid_t pid;
	char reponse;
 
 
	pid=fork();
 
 
	if(pid==0)
	{
		while(1){
			printf("hello");
 
			reponse=getchar();
			if(reponse==atoi("s"))
			{
				kill(getpid(),SIGSTOP);	
			}
			else if(reponse==atoi("r"))
			{
				kill(getpid(), SIGCONT);
			}
			if(reponse==atoi("q"))
			{
				kill(getpid(),SIGTERM);
 
			}
		}
 
	}
 
	if(pid>0)
	{
		printf("(s)---> endormir fils\n");
		printf("(r)---> redémarre fils");
		printf("(q)---> tuer le fils");
 
	}
}
J'aimerai dans le processus père faire kill(processus_fils,SIG...)
Mais comment récupérer l'id du processus fils dans le père ?
De plus lorsque je fais s r ou q le terminal continue d'afficher hello (la boucle ne s'arrête pas)