Bonjour
Afin de me remettre doucement au bon vieux C, je code un petit programme de timeout sur une commande. Au delà d'un temps donné par l'utilisateur, le processus enfant (une commande unix) est tué.
Seulement, mon compilateur (gcc v4.0.3 sur Ubuntu 6.06 x86) n'accepte pas mon appel à la fonction kill :
Et gcc me renvoit :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <sys/wait.h> #include <signal.h> #include <sys/types.h> int main(int argv, char*args[]){ /**Blabla*/ if(t-start > delay[0]){ kill(pid, SIGKILL); fprintf(stdout, "Timeout.\n"); exit(EXIT_SUCCESS); } return 0; }
Me suis-je trompé de fichier d'inclusion ou la fonction kill n'existe pas ?Code:
1
2
3 cc timeout.c -pedantic -Wall -o timeout timeout.c:138: attention : implicit declaration of function «kill»
Merci d'avance de vos réponses.
@++