Starting New Process

D duncanm255 at hotmail.com
Thu Jun 1 15:24:47 EDT 2006


Sorry, I should've specified - I'm familiar with sockets, but I was
referring to spawning a 'vi' process independent of my Python app..


Carl wrote:
> D wrote:
>
> > Thanks, Jean-Paul - is there any way to do it without using Twisted,
> > since I am not very familiar with it? (i.e. just using the os library)
> > Thanks.
> >
> > Jean-Paul Calderone wrote:
> >> On 1 Jun 2006 07:34:23 -0700, D <duncanm255 at hotmail.com> wrote:
> >> >Hello, I need to write a server program that performs the following
> >> >tasks:
> >> >
> >> >1)  Listens on TCP port 5555 for a connection
> >> >2)  When client connects, launches application (for example, vi), then
> >> >closes connection with client
> >> >3)  Goes back to listening on TCP port 5555 for an incoming connection
> >>
> >> Untested:
> >>
> >>   from twisted.internet import protocol, reactor
> >>
> >>   class ViRunner(protocol.Protocol):
> >>       def connectionMade(self):
> >>           reactor.spawnProcess(
> >>               None,
> >>               '/usr/bin/setsid',
> >>               ['setsid', '/usr/bin/vi'])
> >>           self.transport.loseConnection()
> >>
> >>   f = protocol.ServerFactory()
> >>   f.protocol = ViRunner
> >>   reactor.listenTCP(5555, f)
> >>   reactor.run()
> >>
> >> Jean-Paul
>
> Use import socket ifyou don't want to use twisted (which is incredibly
> good). Google for "+socket +python +server" and you will find what you are
> looking for.
>
> See, for example,
> http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/wireless/5.html
> 
> Carl




More information about the Python-list mailing list