Arriere plan

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 : Arriere plan

par ouckileou » 26 juil. 2005, 09:57

cool :)

[Résolu] ?

par mere-teresa » 26 juil. 2005, 09:57

J'ai trouvé!!!!
Résolu alors ?

par seinto28 » 26 juil. 2005, 09:56

J'ai trouvé!!!!
Et bah, c'était vraiment tres bete ; je ne plaçais pas au bon endroit mon &, je fait donc, pour ce que ça interesse:

Code : Tout sélectionner

exec("./code.sh > sortie.txt &");
et non:

Code : Tout sélectionner

exec("./code.sh & > sortie.txt");

Mais merci beaucoup à toi ouckileou, ça m'a poussez a reflechir autrement pour t'expliquer et voila!! :lol: :lol:

par ouckileou » 26 juil. 2005, 09:54

regarde dans les commentaires de gens, il y a souvent des astuces

certains utilisent effectivement la redirection classique, comme cet exemple
<?PHP
function myspawn()
{
 $command="/usr/local/bin/mybinary infile.txt > outfile.tx2";
 exec($command);
 ## nothing worked for me until I added this next line.
 exec("exit(0)");
}
?> 
moi je ne peux pas trop t'aider plus que ça :roll:

par seinto28 » 26 juil. 2005, 09:49

J'ai essayé avec ou sans la redirection classique : idem.

Mon $resultat est difini comme ;
$resultat='redirection.txt';

et le fichier existe déja.

J'ai lu la doc aussi mais il ne propose pas vraiment de solution a ce problème :cry:

par ouckileou » 26 juil. 2005, 09:38

oui mais tu laisses ta redirection classique en place, et est-ce que $resultat représente un fichier ?

je n'ai jamais utilisé donc je ne peux pas te conseiller plus précisément je ne fais que lire la doc ;)

par seinto28 » 26 juil. 2005, 09:34

Je pensais que la redirection se faisait comme en ligne de commande. J'ai essayé ça mais même resulat:
exec("./code.sh & > sortie.txt", $resultat, $erreur);

par ouckileou » 25 juil. 2005, 19:22

hum bizarre ta redirection

regarde dans la doc on dirait plutôt que c'est un deuxième argument

string exec ( string command [, array &output [, int &return_var]] )

par seinto28 » 25 juil. 2005, 17:57

oui, j'ai essayé mais mêm résultat!!

exec("./code.sh & > sortie.txt");

par ouckileou » 25 juil. 2005, 17:44

tu as regardé dans la doc ce qu'ils disaient ?
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.
tu as essayé ?

Arriere plan

par seinto28 » 25 juil. 2005, 17:19

Bonjour a tous,

Je reviens un peu à la charge avec mon priblème que j'avais en partie résolu ici mais il m'en reste encore un.

J'explique:
J'execute un script shell à apartir de php à l'aide de la commande exec()
Mais mon script shell contient une boucle (executant une requete SQL) et est long à executer.
Or exec() attend la fin de l'execution pour redonner la main à php.

J'aimerais donc faire tourner ce programme en arriere plan puisque le résultat est stoqué dans ma table sql et peut etre consultable apres la deconnexion de l'utilisateur.

Ni nohup, ni le & ne semble fonctionner.

J'espere que vous pourrez m'aider. :wink: