Page 1 sur 1

Controle de tache en cours en PHP ? possible ?

Posté : 13 mai 2007, 19:53
par ricco
Bonjour
j'ai fait une petite page en html avec 2 boutons.
bouton 1 : start qui lance un php qui lance un batch qui execute un programme toto.exe sur mon serveur puis retour sur ma page

bouton 2 : stop qui lance un autre php qui lance un batch qui stop mon programme toto.exe sur mon serveur puis retour sur ma page

Je voudrais pouvoir afficher si mon programme toto est dans les processus de mon serv. Comment faire ca ? (genre quand la page s'affiche un petit script en php viens regarder si toto est dans les processus du serveur ?)

merci d'avance

Posté : 13 mai 2007, 20:02
par Ultim4T0m
Bonsoir,

En lisant les processus en cours, puis en regardant si celui qui t'intéresse est dans cette liste ?

Un truc de ce genre là peut-être :
shell_exec('ps');
Ca peut être une piste

Posté : 13 mai 2007, 21:04
par ricco
oui ca serait mon souhait
vérifier si le processus toto est déja lancé.

tu es sur qu'avec

shell_exec('toto.exe');
ca marcherait ?

Posté : 14 mai 2007, 07:33
par Ultim4T0m
Non, pas shell_exec('toto.exe');

shell_exec — Exécute une commande via le Shell et retourne le résultat sous forme de chaîne.

La commande ps t'indique tous les processus actifs.

Donc shell_exec('ps'); te retournera une chaine contenant tous les processus actifs sur ton serveur, tu n'auras plus qu'à tester la présence de toto.exe dans cette chaine.

Posté : 14 mai 2007, 20:06
par Invité
heu par exemple ca ?

<?php
$output = shell_exec('ps');
echo "<pre>$output</pre>";
?>


ca ne m'affiche rien ?

Posté : 14 mai 2007, 20:23
par Ultim4T0m
C'est une question ?

Posté : 14 mai 2007, 20:31
par ricco
heu oui :wink:

je voudrais faire un test
ca ne m'affiche rien ???

Posté : 14 mai 2007, 20:52
par Ultim4T0m
Bah pour le savoir fais le test, c'est censé t'afficher la liste des proc' actifs

Posté : 14 mai 2007, 21:03
par ricco
oui
mais ca me fait rien ;- :(

Posté : 14 mai 2007, 23:23
par NoNos
La fonction exec est peu etre désactivé comme chez certain hebergeur.

Posté : 14 mai 2007, 23:33
par Ultim4T0m
Possible oui, je sais pas si ca marche, mais tu peux peut-être tester ca :
if(function_exists('shell_exec')) ? 'La fonction shell_exec() est disponible' : 'La fonction shell_exec() n\'est pas disponible';

Posté : 14 mai 2007, 23:50
par Invité
pour l'hébergeur c'est moi (je me fait un petit serveur LAN)

j'ai essayé :
if(function_exists('shell_exec')) ? 'La fonction shell_exec() est disponible' : 'La fonction shell_exec() n\'est pas disponible';

:roll: rien de mieux... :roll:

Posté : 15 mai 2007, 08:00
par orgerix
Il faut ajouter des print() pour els deux chaines.

Posté : 15 mai 2007, 09:21
par Sékiltoyai
Sinon, si tu veux gérer ca proprement, tu peux enregistrer ton programme en tant que service, et ensuite installer l'extension win32_service pour le gérer...

Posté : 15 mai 2007, 10:06
par Ultim4T0m
Oups oui, j'ai oublié le echo...
echo (function_exists('shell_exec')) ? 'La fonction shell_exec() est disponible' : 'La fonction shell_exec() n\'est pas disponible';
Désolé, j'étais occupé à côté ^^'