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

Lazarus Pascal Discussion :

Exécuter du Perl dans un Service Windows [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 26
    Points : 24
    Points
    24
    Par défaut Exécuter du Perl dans un Service Windows
    Bonjour les Lazarussiens et ... les autres aussi bien entendu ....

    J'ai un grand besoin de vos lumières expertes , car les miennes sont éteintes ..

    Je chercher a exécuter un programme PERL en tant que service Windows. C'est pas trés joli, joli, je vous l'accorde... mais bon je n'ai pas le choix pour l'instant.

    Je suis passé par un TProcess, qui lance mon Perl avec les bon paramètres, et j'ai mis tout ça dans un Thread pour le contrôler : arrêt, redemarrage, etc.

    Ensuite, via un petit formulaire de test j'ai vérifier que mon programme se lance correctement, s'arrête, et se relance; impec.

    Ensuite je créer mon service, qui ne fait rien, et ça marche, ça s'installe, ça demarre, ça s'arrête et ça redémarre.

    Par contre quand j'y mets mon thread (qui lance mon perl) mon service démarre, mais pas mon PERL !!

    Ensuite quand je tente d'arrêter mon service, Windows m'indique que le service ne réponds pas, il reste dans un état 'arrêt', bizarre, et Je dois "TUER" le service pour pouvoir le désinstaller et le supprimer.

    Est ce le fait que le perl se lance dans un SHELL ?
    Est-ce le TProcess lancé par le service, qui ne plait pas à Windows ?

    enfin pour finir, sachez que quand je lance mon PERL une fenêtre dosCmd apparait, et que je l'ai masqué grâce aux options du TProcess.

    Merci d'avance les copains, très bonnes fêtes à tous.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Bonjour,

    Personnellement, j'aurais tendance à penser que c'est lié à l'utilisateur qui lance ton service (je ne sais plus mais je crois que c'est System par défaut.
    J'essaierai (si ce n'est pas déjà fait) de lancer ton service avec un compte qui peut lancer une console de commande. (onglet connexion du panneau lancé par propriété à partir du clic gauche)

    ou via sc create

    Cordialement

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    Trés bonne idée..... effectivement c'est le compte 'system local' qui est utilisé par défault, et il n'a surement pas la possibilité de lancer un cmd.

    merci acaumes !!!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    Re bonjour,

    Alors j'ai trouvé mon problème.

    Rien à voir avec les droits, le compte ou autre chose de cet acabi !!

    En fait, c'est à cause de mon application de test. Comme celle ci avait une IHM , et que j'utilisais un thread, j'étais obligé de synchroniser les fonctions qui mettait à jour l'affichage (update d'un Tmémo quand le service se lance, s'arrête etc...). Mais dans un service, il n'y a pas d'ihm, du coup, mes appel à 'synchronize' généraient une exception, et patatra.......

    Une fois les 'synchronize' supprimés, et le code mise en forme. tout va bien ! enfin....


    A Plus ... et merci....

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

Discussions similaires

  1. COM/ActiveX dans un service Windows
    Par Geoffrey5294 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 05/11/2008, 16h08
  2. WCF hébergé dans un service - Windows Vista
    Par Aurélien19 dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 11/10/2008, 14h00
  3. DBexpress dans un service windows
    Par jmmazie dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 30/09/2008, 12h12
  4. lancement sqlloader dans un service Windows
    Par DrZoune dans le forum C#
    Réponses: 7
    Dernier message: 05/02/2008, 10h19
  5. Réponses: 5
    Dernier message: 28/12/2007, 09h56

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