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é.