IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Gcc n'accepte pas kill()


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 893
    Par défaut Gcc n'accepte pas kill()
    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 :
    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
     
    #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;
    }
    Et gcc me renvoit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cc timeout.c -pedantic -Wall -o timeout
    timeout.c:138: attention : implicit declaration of function «kill»
    Me suis-je trompé de fichier d'inclusion ou la fonction kill n'existe pas ?
    Merci d'avance de vos réponses.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  2. #2
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 893
    Par défaut
    Ben, il me suffisait de virer l'option -pedantic de ma ligne de commande compilo
    Ca m'apprendra à relire mon man gcc.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par GLDavid
    Ben, il me suffisait de virer l'option -pedantic de ma ligne de commande compilo
    Ca m'apprendra à relire mon man gcc.
    je ne suis pas sûr que se soit la meilleur solution (à mon avis, tu ne fais que cacher le problème) :
    Code signal.h : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /* Send signal SIG to process number PID.  If PID is zero,
       send SIG to all processes in the current process's process group.
       If PID is < -1, send SIG to all processes in process group - PID.  */
    #ifdef __USE_POSIX
    extern int kill (__pid_t __pid, int __sig) __THROW;
    #endif /* Use POSIX.  */
    Donc il faut ajouter :
    Lors de la compilation.

  4. #4
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 893
    Par défaut
    Ok, bien noté
    J'en aurais des choses à tester ce soir.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. n'accepte pas les apostrophes
    Par flo456 dans le forum Langage
    Réponses: 6
    Dernier message: 18/09/2006, 14h14
  2. La fonction BuilCriteria n'accepte pas les points
    Par Tofalu dans le forum Access
    Réponses: 3
    Dernier message: 10/07/2006, 12h00
  3. GCC n'aime pas #include <linux/sched.h>
    Par gilux dans le forum Linux
    Réponses: 3
    Dernier message: 29/01/2006, 22h09
  4. Select dans SQL n'accepte pas la virgule
    Par da_latifa dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/10/2005, 16h22
  5. Builder n'accepte pas try/catch/__finally
    Par Rodrigue dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/04/2005, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo