cgi and popen

Maarten van Veen foster at home.nl
Wed Jun 7 11:11:07 EDT 2006


In article <pan.2006.06.07.14.53.44.729441 at thomas-guettler.de>,
 Thomas Guettler <niemand.leermann at thomas-guettler.de> wrote:

> Am Wed, 07 Jun 2006 14:54:41 +0200 schrieb Maarten van Veen:
> 
> > A long story made short, I've build a python/cgi website consisting of 
> > two pages. Page1 has a html form in which you can input a series of 
> > queries. Then via Popen it starts a pythons search script, which stores 
> > the results in a python shelve.
> > As the Popen command is given it should redirect to page2, which will 
> > check if the shelve is ready (search finished) and if not displays a 
> > search page, refreshing itself after 10 seconds.
> > The Popen command works nice when tried out in the console. The script 
> > isueing the Popen quits, and the other process keeps on running till 
> > finished.
> 
> Hi,
> 
> You can find out where the process hangs, by
> sending SIGINT to the python script:
> 
> kill -SIGINT PID
> 
> This is like ctrl-c, you should get a traceback.
> 
> If the page1 script is not alive anymore, during
> the unwanted waiting, this does not work.
> 
> Which form of popen do you use? Popen4 is the best,
> because you cannot get a deadlock if there is output
> on stdout and stderr.
> 
> I guess you have the same strange thing, if you
> ssh to the server, start the script1 and you want
> to logoff before the subprocesses is finished.
> 
> You can try to start the script like this:
> 
> nohup nice mein-script >> $HOME/log/mein-script.log 2>&1 </dev/null &
> 
>  HTH,
>   Thomas

Thx for your reply Thomas. I use subprocess.Popen, because popen 1t/m 4 
are deprecated. 
I found a dodgy way around my problem though. By inserting another page 
between the input and the results page,a user sees a "i'm searching" 
page which wants to redirect to the results page directly, but keeps 
waiting for the search process to finish.
So I put what used to be my problem to good use. :D

Maarten



More information about the Python-list mailing list