Jump to content

[PHP] exec et tache de fond


Recommended Posts

Salut, mon petit probleme est ma volonté de relancer mon serveur mysql grace au php (pour l'automatiser dans mon script).

pour le moment je passe par ca:

exec("\"C:/EasyPHP1-8/mysql/bin/mysqld.exe\" --language=french ");

Le probleme, c'est que ca me le lance pas en tache de fond.

Ce que je voudrais c'est qu'il se lance comme si je double cliquais dessus.

Si quelqu'un à une idée, je suis preneur.

Link to comment
Share on other sites

Je ne sais pas trop si c'est ca que tu recherches n'ayant pas trop testé l'exécution de programmes via php mais peut etre que le probleme vient du fait que l'execution de ton serveur mysql produit une sortie standard et qu'ainsi ton code php ne peut plus reprendre la main. A ce moment la, il faudrait que tu rediriges la sortie standard de l'executable dans un fichier quelconque ou meme /dev/null au pire. voila, j'espere t'avoir aide ;)

Link to comment
Share on other sites

je suis d'accord,jai essayé et sa marche (si je redirige vers toto.txt par exemple.)le truc c'est que je ne veux pas rediriger car je veux faire un truc portable et je ne sais pas si sous linux la redirection est posible.

Link to comment
Share on other sites

Ben, a priori, tu n'as pas d'autre choix puisqu'il ne me semble pas qu'il soit possible de creer un nouveau processus ou meme un thread en php. Pour ce qui est de la redirection sous linux, c'est tout a fait possible. Par contre je ne connais pas la syntaxe de la redirection de sortie standard sous windows donc je ne peux pas te dire s'il y'aura incompatibilité ou non.

En tout cas, pour moi, si tu ne trouves pas une fonction genre fork en php (il ne me semble vraiment pas que ca existe mais je peux me tromper), la seule solution qu'il te restera sera de faire une redirection pour que ton code php puisse reprendre la main.

Link to comment
Share on other sites

J'ai pas dit que c'etait joli hin! ;)

Ou sinon a la rigueur, tu te fais un quelconque script capable de creer un nouveau processus, tu colles mysql dans le processus lancé et le processus père continue son exécution. Tu n'as plus qu'à lancer ce script via la commande exec. Peut-être que ca sera plus joli comme ca :keskidit:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...