Fråga om hantering av filer i C och Linux/Windows.

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43150
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Fråga om hantering av filer i C och Linux/Windows.

Inlägg av sodjan »

Alltså varje gång det "loggar" något?
Om filen saknas, skapas den då?

Är det testat vad som händer om man bara rycker
undan filen för logg-programmet (t.ex en rename)?
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Fråga om hantering av filer i C och Linux/Windows.

Inlägg av lillahuset »

Ja såvitt vi har kunnat se öppnas och stängs den varje gång.
Ja den skapas om den saknas.

Ja vi gör rename och det verkar funka. Men 100% kan vi inte vara säkra på. Borde fråga utvecklaren.

Jag testade på en laptop att skriva så fort det gick i ett C-program. Öppna för append, skriva 100 heltal, stänga, loopa.
Sedan testade jag med mitt script att göra rename en gång per sekund. Verkade inte tappa data.
Nerre
Inlägg: 26655
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Fråga om hantering av filer i C och Linux/Windows.

Inlägg av Nerre »

sodjan skrev:> Varför då? Om inget annat program ska röra filerna så är det väl inget problem att filerna är låsta?

Varför ifrågasätta det, det framgår ju av frågeställningen att det *är* ett problem.
Nej, det är att problem att ett annat program ska kunna röra filerna.

Håll reda på negationerna här:)
> Intressant. Hur gör du detta utan att använda något program till det?

Det är väl en vanlig textfil? Eller, loggfiler brukar i alla fall ofta vara det... :-)
Vi, Notepad eller vad man nu har tillgängligt.
Och vi och notepad är alltså inga program?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43150
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Fråga om hantering av filer i C och Linux/Windows.

Inlägg av sodjan »

> Och vi och notepad är alltså inga program?

Jag är fullständigt övertygad om att du förstod vad Jan Almqvist
menade med "inget annat program".

> Jag testade på en laptop att skriva så fort det gick i ett C-program.

Du skulle kunna ha en delay i loopen så att du är säker på att
din rename lite oftare kommer att krocka med att filen är öppen.

Det är ju möjligt att rename "går igenom" men att logg programmet
behåller en länk till samma (omdöpta) fil tills den stängs.

Hur som helst, om logg programmet alltid öppnar/stänger varje gång
den "loggar", så är ju problemet betydligt mindre än om filen var
öppen och "låst" kontinuerligt.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Fråga om hantering av filer i C och Linux/Windows.

Inlägg av lillahuset »

Jag frågade och filen öppnas/stängs vid varje loggning och den tid den är öppen är knappast mer än två sekunder. Alltså vore det konstigt om det inte skulle funka.
Nerre
Inlägg: 26655
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Fråga om hantering av filer i C och Linux/Windows.

Inlägg av Nerre »

sodjan skrev: Jag är fullständigt övertygad om att du förstod vad Jan Almqvist
menade med "inget annat program".
Och jag var fullständigt övertygad om att alla förstod att ett program är ett program oavsett om det startas av en användare eller på nåt annat mystiskt sätt.
MiaM
Inlägg: 9915
Blev medlem: 6 maj 2009, 22:19:19

Re: Fråga om hantering av filer i C och Linux/Windows.

Inlägg av MiaM »

En enkel googling gav detta, med exempel på hur man gör med trilskande loggande program ihop med loggrotering:

http://serverfault.com/questions/55610/ ... open-files
Skriv svar