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

API, COM et SDKs Delphi Discussion :

Intercepter le kill process


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 24
    Par défaut Intercepter le kill process
    Bonjour
    Je suis en Delphi 5 sous windows XP.

    J'aimerais savoir s'il est possible d'intercepter le message window qui permet de killer un processus (par le gestionnaire des tâches).

    Ainsi, si mon appli est tuée, cela me permettrait d'écrire dans un journal juste avant qu'elle meurt.

    Merci

  2. #2
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Tu cherche a ecrire dans le journal que l'application a ete killé ? ou bien juste ecrire des choses dans un journal ?

    Si c'est la 2e solution (genre log) il faut ecrire dans le fichier a fure et a mesure que les données arrive et fermer le fichier apres chaques ecriture (ou eventuelement faire un flush) pour vider le tampon.

    Sinon le principe du kill etant de fermer uen application qui a planté, ca m'etonnerais qu'il puisse le detecter et en plus pendre le temps d'ecrire un journal

  3. #3
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 24
    Par défaut
    Oui, c'est la 2ème solution.
    Lorsque mon processus se termine, j'écris le résultat dans un journal (échec ou succès).
    L'ennui c'est que je n'ai aucune trace dans mon journal si quelqu'un kill ce processus...

    En tout cas sur la dernière phrase, je pense que tu as raison.
    Citation Envoyé par Clorish Voir le message
    Sinon le principe du kill etant de fermer uen application qui a planté, ca m'etonnerais qu'il puisse le detecter et en plus pendre le temps d'ecrire un journal
    Vois-tu une solution de contournement ?

    En fait j'ai une application principale qui lance des processus simultanés pour exécuter des éditions.
    Les utilisateurs de cette appli peuvent, en cas de problème, fermer cette application principale. Le but est alors de killer tout les processus qui en découle et d'obtenir un message d'erreur dans le journal pour chacun.

    Merci de ton intérêt

  4. #4
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    pourquoi "killer" et non "fermer proprement" les processus ?

    Sinon il y a bien le message WM_Kill je crois qui peut etre intercepter si l'application ou precessus possede encore une jambe pour le traiter

  5. #5
    Membre averti
    Inscrit en
    Mai 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 24
    Par défaut
    "Killer" c'est pour garantir le résultat.
    Si mon utilisateur demande à fermer l'application, l'effet doit être immédiat.
    Les processus lancés doivent donc tous s'arrêter en même temps (qu'ils soient plantés ou non).

    Je n'ai trouvé malheureusement aucun exemple d'utilisation de WM_KILL.
    C'est pour ça que j'ai posté ici.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Février 2006
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 624
    Par défaut
    Tu voudrais faire comme sous Linux, killer les processus zombies, non?
    Tu devrais pouvoir t'en sortir avec la FAQ et TerminateProcess.

Discussions similaires

  1. Réponses: 12
    Dernier message: 09/08/2007, 12h48
  2. Réponses: 2
    Dernier message: 09/08/2007, 12h35
  3. Evenement Kill process
    Par eliek_9 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 01/08/2006, 10h40
  4. Kill Process TSE
    Par eguillot dans le forum Delphi
    Réponses: 1
    Dernier message: 22/06/2006, 17h11
  5. [net*8] Kill process Oracle
    Par Filippo dans le forum Oracle
    Réponses: 2
    Dernier message: 18/11/2005, 10h39

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