executer en arriere-plan un script shell a partir de php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : executer en arriere-plan un script shell a partir de php

par Seinto28 » 22 avr. 2005, 15:24

Oui, je sais (apres plusieurs recherches) que php attend le retour, c'est pour ça que j'utilise nohup, qui cré un nohup.out qui va servir de retour. Le probleme est qu'a la creation de ce fichier, il y a un commentaire que l'on doit valider par entré pour retrouver la main.

Merci

par goeb » 22 avr. 2005, 14:33

vu sur la doc de la fonction "exec" :
http://www.php.net/manual/fr/function.exec.php

Note : Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.

ça peut t'aider...

par Invité » 22 avr. 2005, 09:55

Salut,

J'ai suivi ces precieux conseils et j'ai trouvé d'ou venait l'erreur mais je ne sais pas la resoudre.
En fait quand on lance une application avec nohup, pour recupérer la main, il faut appyuer sur entrée (je sais c'était tout bete) mais comment fait on cela apartir de php?

exec('nohup ma_commande &');
et ensuite??
:wink:

par thierry » 20 avr. 2005, 17:40

salut,

passe déja en mode console et tape ta commande.
nohup locate *.php &
regarde bien ta sortie et renseigne toi sur le fonctionnement de nohup :wink:


thierry

executer en arriere-plan un script shell a partir de php

par seinto28 » 20 avr. 2005, 17:20

Bonjour a tous,

Je vais essayer d'etre clair,

J'execute un commande shell dans un fichier shell executable via une page php et comme l'execution est longue, je veux utiliser nohup pour que php n'attende pas le retour, le problème est que php n'execute plus ce script avec nohup.

Par exemple,

Si je fais :

exec("locate *.php > sortie.txt");
->ça marche

mais si je fais :

exec("nohup toto.sh &")

avec toto. sh contenant :
locate *.php > sortie.txt

et le fichier mis en executable (chmod +x)
ça ne marche plus?!!

Est-ce que quelqu'un sait d'ou ça peut venir?

Merci