Starting New Process

Carl phleum_nospam at chello.se
Thu Jun 1 20:59:13 CEST 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