>    Vreau sa fac un sistem care porneste diverse aplicatii si salveaza 
> output-ul lor (file descriptor 1 si 2). Am facut inainte de fork () 
> ceva de genul:

asta se face deschizand fisierul de log
iar dupa fork inchizi in copil stderr si stdout ( 1 si 2 ) si faci
dup(log_fd, 1) si dup(log_fd, 2) ( verifica totusi ordinea parametrilor
)

> ftruncate (care apropo, merge). Problema mea este ca nu vreau sa fac
> trunchiere, ci doar repozitionare - datele anterioare sa fie
> pastrate...

ma tem ca nu prea poti direct
ai mai multe solutii:
1. lucrezi cu multiple fisiere fisier_YYYYMMDD-HHMM
2. faci tu manual repozitionarea - poti s-o faci in felul urmator:
inchizi primul fisier, faci rename, deschizi fisierul, incepi sa scrii
de la 100k offset ( in unix poti sa faci asta, ca te lasa sa ai chiar
gauri in fisier ), urmand ca apoi, cand ai cicli de masina liberi, sa
copiezi ce vrei din vechiul fisier, oricum 100k nu e foarte mult, deci
in principiu poti copia direct fara deprecierea performantelor, dar
depinde foarte mult cat output produce programul copil

Alex
---
Pentru dezabonare, trimiteti mail la 
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/


Raspunde prin e-mail lui