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
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
- Alexandros (05.05.2008 13:00)
- RedWiz (05.05.2008 13:59)
- Alexandros (05.05.2008 17:10)
- Giovanni (05.05.2008 17:34)
- Alexandros (05.05.2008 18:53)
- Alexandros (05.05.2008 20:38)
- Giovanni (06.05.2008 10:24)
- RedWiz (05.05.2008 17:41)
- Alexandros (05.05.2008 17:57)
