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

Langage PHP Discussion :

[Système] exécuter un programme et connaître son PID


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de Ickou
    Inscrit en
    Avril 2005
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 174
    Points : 108
    Points
    108
    Par défaut [Système] exécuter un programme et connaître son PID
    Salut à tous

    Mon script php lance dans certaine condition un autre script php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $cmd = "php -q routine.php > $chemin/output.html &" ;
    system($cmd) ;
    or le programme "routine.php" un jour ne s'est pas terminé et mon programme principal du coup croyant que routine.php tournait encore, ne le relançait pas.

    Je voudrais pouvoir connaître le PID lors de l'appel de la fonction "system" et pouvoir tester si mon programme sous ce PID tourne encore.

    Comment faire cela en php ?

    Je vous remercie d'avance pour votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    je sais qu'il est possible de passer cette problématique avec les functions proc_open()/proc_terminate()/proc_close sous PHP5
    http://www.php.net/manual/fr/function.proc-open.php

    sinon, tu as : les Contrôle des processus:
    http://www.php.net/manual/fr/ref.pcntl.php
    avec pcntl_fork()
    http://www.php.net/manual/fr/function.pcntl-fork.php

    même si personnellement, je te conseil un bon vieu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pid = system('ps aux | grep "php -q routine.php" | cut -d" " -f2');
    ça devrait fonctionner je pense.

  3. #3
    Membre régulier Avatar de Ickou
    Inscrit en
    Avril 2005
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 174
    Points : 108
    Points
    108
    Par défaut
    merci beaucoup juJuv51

    je regarderai ça demain

  4. #4
    Membre régulier Avatar de Ickou
    Inscrit en
    Avril 2005
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 174
    Points : 108
    Points
    108
    Par défaut
    encore merci juJuv51

    ta solution perso fonctionne très bien

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

Discussions similaires

  1. [Système] Exécuter un programme perso avec php
    Par blastafarie dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2007, 09h39
  2. Réponses: 2
    Dernier message: 17/03/2007, 14h11
  3. [Système] Exécuter un programme
    Par gdpasmini dans le forum Langage
    Réponses: 4
    Dernier message: 28/07/2006, 15h37
  4. [Système] Exécuter un programme Java en PHP
    Par sylsau dans le forum Langage
    Réponses: 10
    Dernier message: 26/04/2006, 20h02
  5. [Système] Exécuter un programme Java en PHP
    Par sylsau dans le forum Linux
    Réponses: 4
    Dernier message: 26/04/2006, 17h12

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