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

Windows XP Discussion :

Equivalent du 'kill -4' d'Unix sous Windows


Sujet :

Windows XP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Par défaut Equivalent du 'kill -4' d'Unix sous Windows
    Bonjour,

    Voici mon problème... Il y a peu j'utilisais un logiciel sous Unix dans lequel je lançais des macros, or de temps en temps il arrivait qu'une macro ou une fonction bloque et ne me rende plus la main !
    Il me suffisait de faire un 'kill -4' et le systeme me rendait la main sans fermer le logiciel donc le dit processus. Ceci me permetait de relancer manuellement la macro avec quelques modifs et hop le tour était joué.
    Malheureusement nous avons du migrer ce même logiciel avec les mêmes macros sous windows XP et maintenant je ne peux que tuer le processus, equivalent du 'kill -9' sous unix.
    Je ne peux plus reprendre la main sur la macro et je suis dans la m**** !
    Existe-t-il un solution viable qui me donnerai l'aquivalent de ce 'kill -4' sous Unix ?

    Merci de votre aide.
    FRED

  2. #2
    Rédacteur
    Avatar de Viduc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2009
    Messages
    1 445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2009
    Messages : 1 445
    Billets dans le blog
    2
    Par défaut
    quand tu fais Ctrl+Alt+Supp, tu arrives dans le gestionnaire des tâches... dedans tu ne vois pas ton processus????

  3. #3
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Et c'est quel signal, ce '-4' ? Est-ce qu'il est géré sous le portage Windows de ton programme ? As-tu utilisé les outils cygwin (par exemple) permettant d'envoyer ces signaux ?

    Parce que si tu utilises "TaskKill", ce n'est pas prévu pour envoyer un signal, mais bel et bien pour flinguer abruptement et sans préavis un processus... C'est strictement impossible d'intercepter ce flinguage sous Windows, d'ailleurs, cela fonctionne nettement plus comme un delete dans la table des processus que comme une sorte d'exception/signal non géré.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Par défaut
    Bonjour,

    Je peux effecitvement tuer mon processus avec le gestionnaire des tâches, mais c'est justement ce que je veux éviter, je veux juste arrêter la commande qui plante dans ma macro...
    Dans la doc Unix dont je dispose le '-4' correspond au signal 'SIGALRM' alors que le '-9' correspond au signal 'SIGKILL'.
    Je ne connais pas 'cygwin', à quoi sert-il exactement ? Je suis au taf et je n'ai pas accès à Google, mais je vais le chercher ce soir.

    Merci.

  5. #5
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par fredclc Voir le message
    Je peux effecitvement tuer mon processus avec le gestionnaire des tâches, mais c'est justement ce que je veux éviter, je veux juste arrêter la commande qui plante dans ma macro...
    Oui, mais là, t'es sous Windows et non pas Unix. Sous Windows, on ne se sert pas des signaux comme "messagerie", les messages existent déjà et/ou on utilise des systèmes différents pour contrôler les threads ou sous-processus.

    Tu n'as d'ailleurs aucun outil natif sous Windows pour envoyer un tel signal ! Cygwin (un environnement Posix pour Windows) en possède sûrement un, mais encore faut-il que ton programme soit bien porté sous Windows via Cygwin, et que le code de gestion des signaux n'aie pas été désactivé... N'oublie pas : sous Windows, le "kill", c'est la vraie traduction, c'est réellement fait pour tuer le processus et non pas simplement lui envoyer un signal.

    Classiquement, sous Windows, on ferait plutôt tourner la macro dans un thread dédié, avec un bouton sur l'IHM principale (et donc tournant dans le thread principal aussi) permettant d'arrêter la macro, en demandant d'arrêter le thread (proprement d'abord, puis violemment si ça ne marche pas)... Gérer un signal externe n'est tout simplement pas "naturel" pour la plupart des dévs Windows.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  6. #6
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 6
    Par défaut
    C'est plutôt délicat !
    C'est un logiciel professionnel de Cocreate, j'éspère qu'ils ont prévu ça...
    En lisant la doc de Cygwin je suis tombé sur la commande kill et le signal 4 correspond à une instruction illégale qui n'a pas été initialisée... Ca irait bien avec mon problème...
    De toute façon je vais essayer Cigwin ce soir et voir ce que ça donne, avec un peu de chance... Sinon je ne vois pas comment me sortir du problème... Satané Windows

Discussions similaires

  1. Shell Unix sous Windows ?
    Par tigzirt dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 24/12/2007, 15h31
  2. Retour chariot Linux | Unix sous Windows
    Par MorganStern dans le forum Général Python
    Réponses: 1
    Dernier message: 06/12/2007, 13h10
  3. Utiliser une commande UNIX sous Windows XP
    Par issueTracker dans le forum Windows XP
    Réponses: 2
    Dernier message: 16/10/2007, 18h26
  4. [Mandrake 10] authentification d'unix sous windows
    Par zo1979 dans le forum Mandriva / Mageia
    Réponses: 7
    Dernier message: 05/08/2007, 20h26
  5. Portage d'un client Unix sous windows !
    Par vonemya dans le forum Windows
    Réponses: 1
    Dernier message: 08/07/2007, 13h17

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