Portál AbcLinuxu, 14. července 2025 08:40


Dotaz: Python cgi fork

21.6.2011 15:22 jessica
Python cgi fork
Přečteno: 188×
Odpovědět | Admin
Zdravim.Potrebuji napsat cgi v pythonu ktere spusti akci na pozadi a ta pobezi dlouhou dobu ale master process se ukonci hned a napise ze akce je spustena a skonci.Myslel ze to je jednoduche tak se napsal neco ve stylu totoho(muj puvodni program byl o dost kosatejsi ale pro priklad sem to zkratil):

#!/usr/bin/env python import cgitb,sqlite3,sys,os,cgi,time cgitb.enable() form = cgi.FieldStorage() print "Content-type: text/html" print pid = os.fork()

if pid == 0: print "Fork process do something in background" time.sleep(10) sys.exit(0) else: print "Master process print text and exit" os._exit(0)

Ale rozhodne to nefunguje tak jak sem si myslel.Nakopne me nekdo spravnym smerem ?.Predem Diky
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.6.2011 18:20 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: Python cgi fork
Odpovědět | | Sbalit | Link | Blokovat | Admin

Problém je v tom, že ten forknutej proces zůstává childem parent procesu toho CGI, takže ho webserver zřejmě po skončení prvního threadu zabije taky. Řešení je tady:

http://onlamp.com/python/pythoncook2/solution.csp?day=1

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.