[IPython-user] Launching background processes

Fernando Perez fperez.net at gmail.com
Wed Nov 29 00:12:55 CST 2006


On 11/23/06, Amr Mostafa <amr.mostafa at gmail.com> wrote:
> On 11/23/06, Jouni K Seppanen <jks at iki.fi> wrote:
> > Does IPython deal with all the subtleties of process groups,
> > controlling terminals and what-have-you that one expects from a modern
> > job-control shell? If not, it might not be a very good idea to make it
> > your login shell. See e.g.
>
> I'm not of any knowledge to answer this, but I'm already aware of some
> drawbacks for using it as a shell, but still, fun as hell ;-).

No, IPython most certainly does NOT have the real low-level smarts to
be used as a full system shell.  I know that some people use it almost
as one, and I'm glad to see it being useful to others, but I've always
said that this is an 'off-label' usage, in the sense that I'm very
worried about people trusting it in such a critical point when I know
it has pretty fundamental limitations still for that kind of job.

And given how this is a usage far removed from my everyday activity
and focus, I know I'll never have the time to do it right.  Proper job
control is a glaring limitation, as I've said in no uncertain terms in
the past.

Having said that, Ville who now maintains the trunk, has made many
improvements on this front, since he does have more use for those
features than I do (many of the original support I implemented at his
prodding and with his contributions).  So if he's willing to lead
further work on this front and others want to contribute as well, hey,
why not?

It would certainly be fun to see /usr/bin/ipython listed in
/etc/shells one day in Ubuntu :)

> > In typical shells, if you want a process to outlive the shell you
> > start it in, you have to start it with "nohup", or make sure it
> > ignores SIGHUP itself. I don't know if IPython has a way to do that.
>
> *Many* thanks! Using `nohup` indeed fixed my problem. However, I will
> also investigate on how to do this ignore SIGHUP with python.

Look at the signal module, and let us know how far you get :)

Best,

f

ps - sorry for my slow reply...


More information about the IPython-user mailing list