The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > High Level Programming
.
google unix.com



High Level Programming Post frågor om C, C + +, Java, SQL och andra programmeringsspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Hjälp med exec kommando och fil deskriptorer? rfourn Shell-programmering och Skript 1 07-18-2007 06:05
Arkiv Deskriptorer + cron matrixmadhan UNIX för avancerade & Expertanvändare 7 05-23-2007 01:53
Sockets och Arkiv deskriptorer gstlouis High Level Programming 3 12-12-2005 07:36
fil deskriptorer a25khan UNIX for Dummies Frågor & Svar 3 01-27-2004 07:46
Arkiv Deskriptorer shibz UNIX för avancerade & Expertanvändare 3 12-18-2002 10:12

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 12-24-2001
s_chordia s_chordia is offline
Registered User
  
 

Join Date: Dec 2001
Inlägg: 2
Question Arkiv Deskriptorer

Hej,
Jag har skrivit ett daemon processen, att utföra vissa operationer i bakgrunden.
För detta har jag att stänga, öppna filen deskriptorer,

Är det någon som vet hur man reda på antalet öppna filen deskriptorer?


Tack på förhand
Sheetal
  #2 (permalänk)  
Old 12-24-2001
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.119
Jag vet inte vilken bärbar väg för en process för att ta reda på hur många filer man har öppet.

Men anser att detta fall ... jag är öppen 16 filer och fördela fd 0 till fd 15. Då jag fd nära 0 till fd 14. Därmed återstår bara fd 15 öppen. Om du kunde trolla reda på att endast en fil är öppen, hur skulle det hjälpa dig? Du vet fortfarande inte vilken fd stänga.

Skalet kommer att fördela fd 0, 1 och 2 och vidarebefordra dessa till dig. Ditt program ska hålla reda på vilka filer man öppnar.

Om du har förlorat kontakten med vill filer är öppna, det enda jag kan föreslå att göra en getrlimit () för att få största möjliga fd som någonsin skulle kunna fördelas. Stäng sedan alla möjliga fd's. Det nära samtalet kommer att misslyckas om filen inte är öppen, så att du bara ignorera detta misstag.
  #3 (permalänk)  
Old 12-24-2001
rwb1959's Avatar
rwb1959 rwb1959 is offline
Registered User
  
 

Join Date: Aug 2001
Plats: Virginia, USA
Inlägg: 438
I allmänhet när du skriver ett daemon process du ...

Bli en session ledare - fork ()
Bli en process-gruppledare - setsid ()
Skilja från kontrollerande terminal - setsid () normalt inte detta också.
byta till "/" - chdir ()
Ställ fil skapas mask till 0 - umask (0)

Du måste fortfarande stänga onödiga beskrivningar. Antar du
har inte öppnat något, kan du göra helt enkelt ...

for (i \u003d 0; i <10; i + +)
nära (i);

Som Perderabo säger, "Det nära samtalet kommer att misslyckas om filen inte är öppen,
så du ignorera just detta fel. "

Vid den här tidpunkten har du initalized din daemon process.
En stor hänvisning bok med exempel på detta är ...
Avancerad programmering i UNIX-miljö
av W. Richard Stevens
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 06:47.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0