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

Bases de données Delphi Discussion :

Tuer le processus d'Interbase ?


Sujet :

Bases de données Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Résolu] Tuer le processus d'Interbase ?
    J'aurais besoin de pouvoir tuer via mon application Delphi, le processus d'Interbase. (Affiché en tant que "ibserver.exe" dans le gestionnaire des tâches).

    J'ai essayé plusieurs bouts de code différents tels :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Procedure KillIBServer ;
    Var Hwnd : Integer ;
          IBProcess : Integer ;
          ProcessHandle : THandle ;
    Begin
      Hwnd := FindWindow(PChar('IB_Server'), nil) ;
      // Je récupere bien le handle correspondant à Interbase Server.
      GetWindowThreadProcessId(Hwnd, @IBProcess) ;
      // Je récupére le même PID que le processus apparaissant dans le gestionaire des tâches.
      ProcessHandle := OpenProcess(PROCESS_TERMINATE, False, IBProcess) ;
      // Ici la fonction me renvoit 0 (une erreur selon l'aide WIN32).
      TerminateProces(ProcessHandle, 0)) ;
    end ;
    Ou bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      SendMessage(LeHandleIBServer, WM_CLOSE, 0, 0) ;
    Qui ne fonctionne pas non plus.

    Si quelqu'un à une idée de la manière dont je pourrais m'y prendre, ou de l'erreur que je commet dans mon code, je lui en serait fortement reconnaissant de m'aiguiller.

  2. #2
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    609
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 609
    Points : 2 073
    Points
    2 073
    Par défaut
    Si IB est installé en tant que service, tu aurais plutôt intéret à stopper le service plutôt que de tuer la tâche d'une façon aussi brutale.

    je sais bien qu'IB est capable de reprendre sur crash, mais ce n'est peut-être pas très sain de les provoquer exprès.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Ah effectivement je n'avais pas pensé que mon Interbase était en service, je comprends mieux pourquoi je n'arrive pas à le tuer.

    Je vais chercher si je trouve comment le faire à partir de mon application.

    (En fait j'effectue des tests en ce moment pour déterminer si Interbase supportera la grande masse de données que je dois y insérer / modifier / consulter dans ma future application, ma société désirant l'utiliser plutot que de changer de SGBD. Je souhaitais avoir un systeme de détection pour déterminer si il était down pour pouvoir le relance automatiquement en laissant les tests se faire de nuit.)

    Merci pour l'indication en tout cas, je vais me tourner plus vers le forum Delphi, le problème ne se situant plus vraiment sur Interbase mais sur les services.


  4. #4
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    609
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 609
    Points : 2 073
    Points
    2 073
    Par défaut
    Attention, il y a souvent un second service ibguadian dont le but est justement de relancer automatiquement le serveur ib, en cas de plantage.

    I faut soit totalement désactiver ce service, soit le stopper avant de stopper le service principal.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    J'ai trouvé comment faire, et en fait en stoppant le Service InterBase Server, Interbase Guardian est stoppé automatiquement.

    (Par sécurité je le relance également.)

    Encore merci.

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

Discussions similaires

  1. [DOS] tuer un processus / terminer un programme
    Par guns17 dans le forum Scripts/Batch
    Réponses: 13
    Dernier message: 27/04/2005, 15h31
  2. Comment tuer les processus dans l'état sleeping sans EM ?
    Par David Guillouet dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/02/2005, 09h42
  3. Tuer un processus sur une machine distante
    Par nuke_y dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 16/11/2004, 09h55
  4. Comment tuer le processus ez-ipupdate
    Par berry dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 21/06/2004, 15h07
  5. [VB6] [Système] Tuer un processus courant
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 22/10/2002, 14h47

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