[Tutor] new topic draft

Johan Geldenhuys johan at accesstel.co.za
Thu Nov 17 18:56:05 CET 2005


That will be great. In the "@TODO" part you will see that I still need 
to take the output from the command  and capture that into a file. Can 
you help me with that?

Johan

Alan Gauld wrote:

> Thanks, I may use that as one of the example programs if
> you don't mind?
>
> Alan G.
>
>
> ----- Original Message ----- From: "Johan Geldenhuys" 
> <johan at accesstel.co.za>
> To: "Alan Gauld" <alan.gauld at freenet.co.uk>
> Cc: "Python Tutor list" <tutor at python.org>
> Sent: Wednesday, November 16, 2005 8:12 AM
> Subject: Re: [Tutor] new topic draft
>
>
>> Alan,
>>
>> You may remember that I asked questions on killing a process, a while 
>> back,
>>
>> Sice this is relatedto the tutorial that yu are writing, this was the
>> best solution that worked for me to killa process for a command that
>> keeps on running like eg. 'tcpdump'.
>>
>> HTH
>>
>> Johan
>> BTW, There will a be many a felllow Pythonists that will benefit from a
>> tut like this, great work !!
>>
>>
>> Alan Gauld wrote:
>>
>>> I've just added an incomplete draft copy of my latest tutorial topic
>>> on using the Operating System from Python. The material that's
>>> there discusses the role of the OS and looks at file handling
>>> usng os/os.path/shutil etc.
>>>
>>> http://www.freenetpages.co.uk/hp/alan.gauld/tutos.htm
>>>
>>> If anyone would like to take a look and provide feedback on
>>> general direction/depth etc that'd be greatly appreciated.
>>>
>>> TIA,
>>>
>>> Alan G
>>> Author of the learn to program web tutor
>>> http://www.freenetpages.co.uk/hp/alan.gauld
>>>
>>>
>>> _______________________________________________
>>> Tutor maillist  -  Tutor at python.org
>>> http://mail.python.org/mailman/listinfo/tutor
>>>
>>>
>>>
>>
>
>
> -------------------------------------------------------------------------------- 
>
>
>
>> """
>>   This class will execute the command, let it run for 5 seconds and 
>> kill the process.
>>
>>   ::Author: Johan Geldenhuys
>>             johan at accesstel.co.za
>>
>>   ::Version: 0.0.1
>>
>>   ::Date last updated: 2005-11-03
>>
>>   ::Changes:
>>
>>   :: TODO:  Capture the output from line 41 to a file.
>> """
>>
>> import os, signal, time
>>
>> class command(object):
>>
>>    def __init__(self):
>>
>>        pass
>>
>>
>>    def kill(self, pid, signal=signal.SIGTERM):
>>        try:
>>
>>            print "trying to kill pid...", pid
>>            os.kill(pid, signal)
>>            #os.waitpid(pid, 0)
>>            print "Killed %d"%pid
>>        except:
>>               print "couldn't stop process"
>>
>>    def main(self, interface):
>>
>>        self.interface = interface
>>        self.pid = os.fork()
>>
>>        if self.pid == 0:
>>
>>           os.execvp('tcpdump', ['tcpdump', '-npi', self.interface])
>>
>>        print 'PID: ',self.pid
>>        print 'Let it run for 5 seconds...'
>>        time.sleep(5)
>>        self.kill(self.pid)
>>
>>
>> if __name__ == '__main__':
>>   print "starting test"
>>   c = command()
>>   c.main('eth0')
>>
>>
>
>


More information about the Tutor mailing list