PEP 3143 and daemon process

Ben Finney ben+python at benfinney.id.au
Mon Apr 13 20:33:35 EDT 2009


On 13-Apr-2009, Alfredo Deza wrote:
> By "compliant", I do mean to reference PEP 3143 for building the app.

I'm still not sure what you mean by this. I can only assume you mean
that your program will assume the existence of a PEP 3143
implementation (like the ‘python-daemon’ library), and your program
will use its API.

> I am not sure how to continue now though, is weird, I can swear I
> searched for a while for libraries on how to daemonize correctly a
> Python application and could not find anything quite like it.

Note that, as described in PEP 3143, “daemonize a program” means
nothing more than making the *current program* become a daemon
process. It implies nothing special about external interaction with
that process; having a service channel for controlling a separate
process isn't part of becoming a daemon.

> And now I know of python-daemon, python-ll-core (has a daemon
> module) and daemon.py
> <http://www.clapper.org/software/python/daemon/>
> 
> Do you think I am going in the right direction?

I'm still not clear on what your current direction is :-) As its
champion, I think using PEP 3143 as a basis is the right direction,
and have provided ‘python-daemon’ to help people get there.

> The initial idea was to be able to build something I saw was not
> available (or not fully available) but much needed. I have several
> projects that would benefit from a Daemonizing Module that is able
> to offer functionality like reload, restart, stop, start, logs,
> force quit etc...

You're asking, then, for what is commonly called a “service” process
model. When implemented on Unix, this makes use of a daemon, but does
something significantly more; PEP 3143 explicitly doesn't cover it,
but is designed to be a good basis for it.

What you want is someone to develop and champion a “service” PEP
<URL:http://mail.python.org/pipermail/python-ideas/2009-January/002606.html>
and implementation library. That person is not going to be me, but I
encourage use of the daemon library API as a basis for implementing
the Unix platform specifics of a service API.

-- 
 \       “One of the most important things you learn from the internet |
  `\   is that there is no ‘them’ out there. It's just an awful lot of |
_o__)                                            ‘us’.” —Douglas Adams |
Ben Finney <ben at benfinney.id.au>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20090414/7c9ac351/attachment.sig>


More information about the Python-list mailing list