Page 1 sur 1
Exécuter une commande Unix dans un script php ?
Posté : 13 juin 2007, 15:22
par harry_putter
Bonjour,
Je souhaite exécuter la commande suivante dans un script php :
top 50 | grep nom > monfichier.txt
J'ai essayé :
system('[top 50 | grep
nom >
monfichier.txt');
exec('[top 50 | grep
nom >
monfichier.txt',$sortie);
...mais ça ne fonctionne pas.
Quelqu'un peut-il m'aider

?
Posté : 13 juin 2007, 16:09
par Hywan
Tiens c'est marrant, on dirait que la réponse est (encore et toujours) dans la documentation :
CXXVIII. Exécution de programmes externes.
Il arrive que ces fonctions soient désactivées par l'hébergeur, pour des raisons de sécurité. Ce qui se comprend facilement.
Peut-on avoir ton erreur et au moins le nom de ton hébergeur ?

Posté : 13 juin 2007, 16:15
par harry_putter
En fait, lorsque j'exécute le script ça me fait uniquement le top et j'ai pas de message d'erreur.
Posté : 13 juin 2007, 16:26
par Xenon_54
La syntaxe de la commande ne semble pas bonne. J'ai cette erreur de mon côté:
Code : Tout sélectionner
# top 50
top: unknown argument '5'
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
Révise

Posté : 15 juin 2007, 09:38
par harry_putter
Dans le shell, la commande fonctionne correctement.
Par contre, je n'arrive pas à l'exécuter à partir d'un script php.
Si quelqu'un a une solution concrète...
Posté : 15 juin 2007, 10:31
par zigz4g
J'ai la meme erreur que Xenon_54.
Tu es sous quelle distribution ?
Moi top reste en tache principale sans me rendre la main. Dans ce cas la je vois pas comment tu peux faire un | grep dessus.
Posté : 16 juin 2007, 05:51
par Xenon_54
J'ai la meme erreur que Xenon_54.
Tu es sous quelle distribution ?
CentOS
Moi top reste en tache principale sans me rendre la main. Dans ce cas la je vois pas comment tu peux faire un | grep dessus.
Exact. "ps" serait plus approprié.