Starting New Process
Carl
phleum_nospam at chello.se
Thu Jun 1 14:59:13 EDT 2006
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