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 > UNIX for Dummies Frågor & Svar
.
google unix.com



UNIX for Dummies Frågor & Svar Om du inte är säker på var att skriva en UNIX eller Linux fråga efter det här. Alla UNIX-och Linux-nybörjare välkomna!

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
nära öppna filer innan du tar bort xramm Sun Solaris 9 09-14-2007 08:23
daemon process suresh_rupineni Linux 1 08-21-2006 02:14
vad som är en daemon process Kanu77 High Level Programming 6 03-08-2002 10:47
Daemon process s_chordia High Level Programming 2 01-17-2002 02:09
Arkiv status - öppna / stänga? Pal UNIX for Dummies Frågor & Svar 3 09-26-2001 03:54

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 10-24-2002
kunalashar kunalashar is offline
Registered User
  
 

Join Date: oktober 2002
Inlägg: 1
Bör en UNIX daemon process nära öppen fds?

Jag har en UNIX daemon process som har inletts av en förälder process, en applikationsserver.
Beteendet hos denna daemon process är att ärva och använda app
server akt beskrivningar (portar / sockets).
När jag stänga av app-server, det daemon fortsätter att köra, eftersom det kan finnas andra program som vill använda den.
Kommer dock app server startar inte, eftersom daemon Processen håller föräldrarnas hamnar.
Det pågår en debatt om huruvida dess App servern eller daemonansvar att avsluta ärendet beskrivningar (säga, med fcntl (...)).
Vilken process har ansvaret för att stänga den öppna filen
deskriptorer?
Richard Steven, i hans Avancerad Unix-programmering boken säger att daemon borde göra det, men de människor som skapade daemon säger Posix sätt är bättre.
Alla takers?
Tack på förhand
Kunal
  #2 (permalänk)  
Old 10-24-2002
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Ort: Ashburn, Virginia
Inlägg: 9.111
Jag är inte säker på varför du tror fcntl () passar in i detta. Att stänga en fd du använder close ().

Det är absolut nödvändigt att ett daemon stäng fd s 0, 1 och 2. Efter att, såsom advokater säger, får "rimliga sinnen oense". På den tiden när vi var begränsade till 64 fd-talet, var det rimligt att helt enkelt loop åberopa close () på dem alla. Om jag skulle skriva en daemon, Ja jag antar att jag skulle använda få getconf (_SC_OPEN_MAX) för att få max möjligt FD och loop åberopar close () på varje sista. Detta kan vara tusentals nära () samtal som inte behövs, men nära () inte mycket snabbt när åberopas mot en icke-öppet fd.

Om de stänger stdin, stdout och stderr, skulle jag säga att deras hållning är rimligt. Men jag tror de skulle ha en svår tid att producera något språk i POSIX som stöder dem. Den POSIX standard är on-line och vi har en länk till det på vår hemsida. Exakt vilken del gör de citera?

Det ska vara enkelt att lösa ditt problem though. Kan du inte ändra app server att inte lämna extra fd öppna?

Eller om detta daemon heter, säger daemonx, bara skriva ett program som stänger alla fd s och sedan exec () 's daemonx. Ring ditt program pre_daemonx. Har din app pre_daemonx server samtal.

Är namnet "daemonx" hårdkodade i en unchangable app-server? Inga problem. Döp om "daemonx" till "real.daemonx" och ringa ditt program "daemonx".

Oavsett vilken väg du tar hit, fastställande av detta bör vara en 10 minuters problem.
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 02:20.


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