(Courriels de diversion: <allecherions@resoudrai-vaqueront.com> <confierais@manifestez-gueule.com> <residerez@gereras-maintient.com> <empoche@dechiffrerez-delasserez.com> <ecumaient@capsule-renovateur.com> <egorgera@reactiveraient-expliquerait.com> <saphir@institueraient-croustillaient.com> <tresserent@subjuguerent-rehabituaient.com> <multimillionnaire@recevrez-traversa.com> <degeleront@ehontes-comporte.com> )
Xavier Siquin wrote: > > Salut, > je cherche un guru prog systeme sous linux pour m'éclairer avec le prog en C qui est en attachement : > > 1) c une implémentation très simplifié en C de la commande shell time, > g un probleme (je pense que le prob est la mais je ne suis pas sur) au niveau de l'environnement qui est passé au fils qui est crée et qui réalise l'exec, en effet, qqchose ne semble pas fonctionner au niveau PATH (bien que j'utilise execlp donc utilisation du mm environement que le pere) > > Les symptomes : certaines commandes appellées, pourtant bien dans le PATH ne se lancent pas (exemple "ls") ; > les commandes lancée réagissent différement (par exemple affichage de 'ps') (surement un prob d'environnement) > > g fait un strace "strace ./time ps" : et g vu la ligne : > open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) > apparement c une lib dynamique chargée en plus de libc.so.6 ..... Mais je ne vois pas pourquoi elle est aussi appellé.. > > Si quelqu'un a une idée Tu as simplement oublie de decaler d'un rang les arguments passes a la commande que tu lances a travers ton executable time : < return_exec = execvp (argv[1], argv); --- > return_exec = execvp (argv[1], &argv[1]); Tu fais cette petite modif et ca roule. Philippe --------------------------------------------------------------------- Aide sur la liste: <URL:mailto:linux-31-help@savage.iut-blagnac.fr>Le CULTe sur le web: <URL:http://savage.iut-blagnac.fr/>