Article View: be.comp.programming
Article #13946Re: probleempje met 'child-locking'
From: Kj0n
Date: Thu, 10 May 2001 16:14
Date: Thu, 10 May 2001 16:14
42 lines
3034 bytes
3034 bytes
In article <u0ced9.ih6.ln@frigg.belbone.net>, "Kristoff Bonne" <kristoff.bonne@compaqnet.nospam.be> wrote: > > Mogelijk oplossingen: > 1/ De meest 'logisch' manier is dat het 'child'-process eerst een 'lock' > zet (ergens in een bestandje), maar gezien eigenschap 2 (soms voortijdig > sterven) wil ik vermijden dat er 'locks' blijven staan (die niet konden > gewist worden door het child-process wegens een 'plotse dood'). > > 2/ Ik zoek dus iets dat een 'lock' aanmaakt, maar dat 'automatisch' > verdwijnt als het child-process verdwijnt; ook als (bv.) dat process > 'afgemaakt' wordt door een 'kill -9'. > > 3/ Een andere mogelijkheid zou zijn dat 'mama' een lijst bijhoudt van > de 'pid's van haar children. De vraag is dan hoe 'mama' (de volgende > keer dat ze opgestart wordt) dat process nr. xxx effectief 'haar' child > is, en niet iets anders dat toevallig opgestart is onder dat pid? > > 4/ De enige manier die ik gevonden heb, is dat elk 'child'-process een > TCP-socket zou openen als 'lock'. (want een 'tcp-socket' verdwijnt > vanzelf als het process 'achter' die socket verdwijnt), maar dat lijkt > me allemaal wel serieus 'zwaar'. > > Dus, zou het kunnen om iets 'lichters' daarvoor gebruiken (fifo's, > semaforen, ...). > > > Iemand enig idee? Een (nog altijd niet heel mooie oplossing) zou zijn om een child process een bestand te laten creeren met daarin zijn PID. Als het dan een tweede keer opgestart wordt, vindt het dat bestand en kan kijken of het proces met dat PID nog bestaat en indien ja, stoppen. Een mogelijk probleem is dan wel dat het mogelijk is dat als het child process niet goed gestopt is dat bestand blijft bestaan en een ander proces hetzelfde PID al heeft gekregen (niet erg waarschijnlijk, maar toch mogelijk). Om dat op te lossen kun je in /proc/XXX/cmdline de commandoregel van het proces opvragen en kijken of die hetzelfde is. Kj0n.
Technical Details
Message-ID:
<989511293.210801@seven.kulnet.kuleuven.ac.be>Path:
arc1-ca.pugleaf.net!newsfeed.google.com!sn-xit-03!supernews.com!newsswitch.lcs.mit.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!skynet.be!newsfeeds.belnet.be!naxos.belnet.be!news.belnet.be!umbra!janvReferences:
<u0ced9.ih6.ln@frigg.belbone.net>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,2f3cba8338648af7 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2001-05-10 09:16:14 PST Path: arc1-ca.pugleaf.net!newsfeed.google.com!sn-xit-03!supernews.com!newsswitch.lcs.mit.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!skynet.be!newsfeeds.belnet.be!naxos.belnet.be!news.belnet.be!umbra!janv From: "Kj0n" <Kj0n@yahoo.com> Newsgroups: be.comp.programming Subject: Re: probleempje met 'child-locking' Date: Thu, 10 May 2001 18:14:19 +0200 Organization: KULeuvenNet Lines: 42 Message-ID: <989511293.210801@seven.kulnet.kuleuven.ac.be> References: <u0ced9.ih6.ln@frigg.belbone.net> NNTP-Posting-Host: seven.kulnet.kuleuven.ac.be X-Trace: naxos.belnet.be 989511293 4831 134.58.127.12 (10 May 2001 16:14:53 GMT) X-Complaints-To: abuse@belnet.be NNTP-Posting-Date: Thu, 10 May 2001 16:14:53 +0000 (UTC) User-Agent: Pan/0.9.1 (Unix) X-No-Productlinks: Yes Cache-Post-Path: seven.kulnet.kuleuven.ac.be!unknown@umbra.cs.kuleuven.ac.be X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/)