import sys
from twisted.python import log
log.startLogging(sys.stdout)
from twisted.internet import protocol, reactor
class SubProcessProtocol(protocol.ProcessProtocol):
def connectionMade(self):
log.msg('Connection Made.')
def outReceived(self, data):
log.msg('Received:', data)
# reactor.callLater(.1, self.send)
print data
def errReceived(self, data):
log.msg('Error:', data)
def inConnectionLost(self):
log.msg('Error: inConnectionLost')
def outConnectionLost(self):
log.msg('Error: inConnectionLost')
def errConnectionLost(self):
log.msg('Error: errConnectionLost')
def processExited(self, reason):
log.msg('Process exit status:',reason.value.exitCode )
def processEnded(self, reason):
log.msg('Process end status:',reason.value.exitCode )
if reactor.running:
reactor.stop()
def main():
p = SubProcessProtocol()
reactor.spawnProcess(p, 'tail', ['tail','-f','/usr/local/nginx/logs/access.log'], {})
reactor.run()
main()