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


Groups > comp.lang.python > #91644

Re: Best way to prevent zombie processes

From Cecil Westerhof <Cecil@decebal.nl>
Newsgroups comp.lang.python
Subject Re: Best way to prevent zombie processes
Organization Decebal Computing
References <87vbf8l9e7.fsf@Equus.decebal.nl> <87vbf88k0n.fsf@elektro.pacujo.net>
Date 2015-06-01 11:20 +0200
Message-ID <87mw0jlr8u.fsf@Equus.decebal.nl> (permalink)

Show all headers | View raw


Op Monday 1 Jun 2015 00:22 CEST schreef Marko Rauhamaa:

> Cecil Westerhof <Cecil@decebal.nl>:
>
>> At the moment I have the following code:
>> os.chdir(directory)
>> for document in documents:
>> subprocess.Popen(['evince', document])
>>
>> With this I can open several documents at once. But there is no way
>> to know when those documents are going to be closed. This
>> could/will lead to zombie processes. (I run it on Linux.) What is
>> the best solution to circumvent this?
>>
>> I was thinking about putting all Popen instances in a list. And
>> then every five minutes walk through the list and check with poll
>> if the process has terminated. If it has it can be released from
>> the list. Of-course I need to synchronise those events. Is that a
>> good way to do it?
>
> If you don't care to know when child processes exit, you can simply
> ignore the SIGCHLD signal:
>
> import signal
> signal.signal(signal.SIGCHLD, signal.SIG_IGN)
>
> That will prevent zombies from appearing.

In this case I do not care. I just do not want to create zombie
processes.

It works. What I find kind of strange because
    https://docs.python.org/2/library/signal.html
says:
    signal.SIG_DFL

        This is one of two standard signal handling options; it will
        simply perform the default function for the signal. For
        example, on most systems the default action for SIGQUIT is to
        dump core and exit, while the default action for SIGCHLD is to
        simply ignore it.

    signal.SIG_IGN

        This is another standard signal handler, which will simply
        ignore the given signal.

As it looks it does not matter in this case, because when a process
terminates it will still communicate its exit status to Popen. But
what if I want for certain Popen signals SIG_IGN and others SIG_DFL.
How should I do that?

-- 
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof

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


Thread

Best way to prevent zombie processes Cecil Westerhof <Cecil@decebal.nl> - 2015-05-31 23:33 +0200
  Re: Best way to prevent zombie processes Marko Rauhamaa <marko@pacujo.net> - 2015-06-01 01:22 +0300
    Re: Best way to prevent zombie processes Cecil Westerhof <Cecil@decebal.nl> - 2015-06-01 11:20 +0200
      Re: Best way to prevent zombie processes Chris Angelico <rosuav@gmail.com> - 2015-06-01 20:04 +1000
        Re: Best way to prevent zombie processes Marko Rauhamaa <marko@pacujo.net> - 2015-06-01 13:21 +0300
      Re: Best way to prevent zombie processes Marko Rauhamaa <marko@pacujo.net> - 2015-06-01 13:25 +0300
    Re: Best way to prevent zombie processes Grant Edwards <invalid@invalid.invalid> - 2015-06-01 14:59 +0000
      Re: Best way to prevent zombie processes Marko Rauhamaa <marko@pacujo.net> - 2015-06-01 18:39 +0300
  Re: Best way to prevent zombie processes Cameron Simpson <cs@zip.com.au> - 2015-06-01 11:03 +1000
    Re: Best way to prevent zombie processes Cecil Westerhof <Cecil@decebal.nl> - 2015-06-01 11:23 +0200
  Re: Best way to prevent zombie processes Ben Finney <ben+python@benfinney.id.au> - 2015-06-01 13:37 +1000
  Re: Best way to prevent zombie processes Cecil Westerhof <Cecil@decebal.nl> - 2015-06-01 14:16 +0200
    Re: Best way to prevent zombie processes Marko Rauhamaa <marko@pacujo.net> - 2015-06-01 16:32 +0300
      Re: Best way to prevent zombie processes Cecil Westerhof <Cecil@decebal.nl> - 2015-06-01 16:37 +0200
    Re: Best way to prevent zombie processes Cecil Westerhof <Cecil@decebal.nl> - 2015-06-01 15:03 +0200

csiph-web