Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #90961

Re: subprocess.Popen zombie

From Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>
Newsgroups comp.lang.python
Subject Re: subprocess.Popen zombie
Date 2015-05-20 17:42 +0200
Organization Université de Strasbourg
Message-ID <87bnhfqmr4.fsf@universite-de-strasbourg.fr.invalid> (permalink)
References <mailman.170.1432127818.17265.python-list@python.org>

Show all headers | View raw


Robin Becker <robin@reportlab.com> writes:

> As part of a long running PyQT process running as a window app in Arch
> linux I needed an alert sound, I decided to use the beep command and
> the app code then looked like
>
> pid = Popen(['/home/robin/bin/mybeep', '-r3', '-f750', '-l100', '-d75']).pid
>
> the mybeep script handles module loading if required etc etc.
>
> Anyhow, this works with one slight oddity. When this code is executed
> it works fine, but leaves behind a single zombie process, when next
> executed the zombie disappears and a new zombie replaces it.
>
> Is this because I'm not waiting?

Yes, all processes will stay zombies until being wait()-ed for by their
parent process. This means: either you use call(...) which doesn't
return until the child process has finished, or you keep the Popen
object around and call wait() at an appropriate time.

> Does the process module reap previous commands in some way?

No.

> The code I used to use with os.spawnl was even worse in leaving
> zombies around.

For the same reason (os.wait() and os.waitpid() let you ... wait for
child-processes).

> I suppose I needed to keep a record of all the pid's and wait on them
> at some convenient time.

Yes.

> The subprocess version appears to be doing that for me somehow.

Not sure what you mean. You have to do the bookkeeping yourself.

(But, does beep really take so much time that you can't just call() it?)

-- Alain.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

subprocess.Popen zombie Robin Becker <robin@reportlab.com> - 2015-05-20 14:16 +0100
  Re: subprocess.Popen zombie Cecil Westerhof <Cecil@decebal.nl> - 2015-05-20 16:48 +0200
  Re: subprocess.Popen zombie Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2015-05-20 17:42 +0200
    Re: subprocess.Popen zombie Robin Becker <robin@reportlab.com> - 2015-05-20 17:44 +0100
      Re: subprocess.Popen zombie Thomas Rachel <nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915@spamschutz.glglgl.de> - 2015-05-21 08:35 +0200
        Re: subprocess.Popen zombie Ian Kelly <ian.g.kelly@gmail.com> - 2015-05-21 08:13 -0600

csiph-web