On 03/05/10 20:09, wongjoek...@yahoo.com wrote:
On 5 mrt, 21:02, "Martin P. Hellwig"<martin.hell...@dcuktec.org>
wrote:
On 03/05/10 19:45, wongjoek...@yahoo.com wrote:



On 5 mrt, 20:40, "Martin P. Hellwig"<martin.hell...@dcuktec.org>
wrote:
On 03/05/10 19:21, wongjoek...@yahoo.com wrote:
<cut os.fork problem>
Any specific reason why threading.Thread or multiprocessing is not
suitable to solve your problem?

--
mph

Because I got a memory leak in my function f(). It uses scipy, numpy,
pylab, and I am not planning to solve the memory leak because its too
complicated. So I thought of just calling the function then when it is
finished the process is gone and all memory is released. With
threading I don't think I would solve this problem. I am not sure
though.

I would be surprised if you can't do the same with
subprocess/multiprocessing, since you seem to know how to identify the
memory leak it shouldn't be a problem scripting out a test to see if it
works this way. I would be interested though in your findings.

--
mph

I can't use multiprocessing module since it comes only with python 2.6
and I am bound to python2.4. But subprocess does exist in python2.4,
but the question now is, how do I achieve that ? Any example ?

Sure, for example if I want to check the openssl version (didn't specify I need to provide a useful example :-)

I would normally do on the command line:
[mar...@aspire8930 /usr/home/martin/Desktop]$ /usr/bin/openssl version
OpenSSL 0.9.8k 25 Mar 2009

The python subprocess equivalent is:
[mar...@aspire8930 /usr/home/martin/Desktop]$ python
Python 2.6.4 (r264:75706, Jan 31 2010, 20:52:16)
[GCC 4.2.1 20070719  [FreeBSD]] on freebsd8
Type "help", "copyright", "credits" or "license" for more information.
>>> import subprocess as _sp
>>> ssl_version = _sp.Popen(['/usr/bin/openssl', 'version'], stdout=_sp.PIPE)
>>> print(ssl_version.stdout.readlines())
['OpenSSL 0.9.8k 25 Mar 2009\n']
>>> quit()
[mar...@aspire8930 /usr/home/martin/Desktop]$

If you get any error in the Popen part, you probably did not use the full path or an illegal parameter.

If you get a long wait in the readlines part, this usually means that there is either nothing written to stdout or something is still being written (I am not sure about this part though, it has been a while).

hth
--
mph
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to