Bonjour,

j'ai compiler ce code avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
gcc -o exotp2 exotp2.c
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sched.h>
#include<sys/wait.h>
#include<errno.h>
 
main()
{
int ret,pid;
int politique,status,priorite;
struct timespec quantum;
struct sched_param param;
 
ret=fork();
if(ret==0)
  { /* Processus fils */
        pid=getpid();
        printf("je suis le fils ma priorité d'ordonnancement est : %d \n",getpriority(PRIO_PROCESS,pid));
 
politique=sched_getscheduler(pid);
 
      if(politique==SCHED_RR)
         printf("je suis le fils ma prorité d'ordonnancement est SCHED_RR \n");
      if(politique==SCHED_FIFO)
         printf("je suis le fils, ma prorité d'ordonnancement est SCHED_FIFO \n");
      if(politique==SCHED_OTHER)
         printf("je suis le fils, ma prorité d'ordonnancement est SCHED_OTHER \n");
 
param.sched_priority =10;
setpriority(PRIO_PROCESS, pid, 10);
 
if(sched_setscheduler(pid, SCHED_FIFO, &param) == -1)
  perror("problème scheduler");
priorite = getpriority(PRIO_PROCESS, pid);
printf("je suis le fils, ma priorité d'ordonnancement est: %d\n", priorite);
 
politique = sched_getscheduleur(pid);
if(politique == SCHED_RR)
printf("je suis le fils, ma politique d'ordonnancement est: SCHED_RR \n");
if(politique == SCHED_FIFO)
printf("je suis le fils, ma politique d'ordonnancement est: SCHED_FIFO \n");
if(politique == SCHED_OTHER)
printf("je suis le fils, ma politique d'ordonnancement est: SCHED_OTHER \n"); 
}
 
else    /* Processus pére */
{
printf("Voici les priorités min et max de la politique SCHED_FIFO, %d, %d\n",
       sched_get_priority_min(SCHED_FIFO), sched_get_priority_max(SCHED_FIFO));
 
printf("Voici les priorités min et max de la politique SCHED_RR, %d, %d\n",
       sched_get_priority_min(SCHED_RR), sched_get_priority_max(SCHED_RR));
 
sched_rr_get_interval(getpid(), &quantum);
 
printf("Voici les valeurs du quantum de la politique SCHED_RR, %d secondes, %d nanosecondes \n", 
       quantum.tv_sec, quantum.tv_nsec);
 
 wait(&status);
 }
 
}
voila le résultat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
/tmp/ccqzDykS.o: In function `main':
exotp2.c:(.text+0x110): undefined reference to `sched_getscheduleur'
collect2: ld a retourné 1 code d'état d'exécution
y a t-il quellqu'un qui peux m'aider à comprendre l'erreur.

Merci d'avance.