nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

exec() e stdout ...

Von: Alexandros (niente_spam@chiedetemela.it) [Profil]
Datum: 05.05.2008 12:30
Message-ID: <klBTj.70596$FR.289928@twister1.libero.it>
Newsgroup: it.comp.os.linux.development
Ciao a tutti...
...sempre io con le mie domande :)

Sempre riguardo la programmazione di base in *nix ...

Dunque...

"Scrivere un programma C “elenca”, che prende come argomento il nome
di
un file ed esegue il corrispettivo di “ls ­l > file”.
Ad esempio, “elenca prova.txt” scrive il risultato di “ls
­l” nel file
prova.txt"

Ho letto sullo Stevens, ho provato a cercare qualcosa con BigG, ma
niente... non capisco :(

Cosa non capisco ?
Come diavolo si fa, dopo aver lanciato un "programma" con una exec() a
redirigere lo stdout su un file.

Se faccio execl("/bin/ls", "ls", "-l", NULL) poi come
diavolo scrivo il
"risultato" in un file ?
Studiando le exec() ho capito che se apro un file prima di chiamare una
di esse, tale file resta aperto e il descrittore è nella
disponibilità
del programma (chiamato da exec) che sostituisce il chiamante in memoria;

per questo avevo pensato di fare una fd=open(argv[1], O_CREAT) prima di
lanciare la execl...

... e poi ? devo industriarmi con la read da stdout_fileno e write sul
file passato in argv[1] ?

Come come come come ??? Lanciatemi un salvagente! :)

[ Auf dieses Posting antworten ]

Antworten