我正在尝试使用twisted spawnProcess 启动一个进程,并使用psutil 每5 秒记录一次资源使用情况。首先,我尝试使用以下代码获取衍生进程的可执行名称:
#!/usr/bin/python
from twisted.internet import reactor
from twisted.internet import protocol
import psutil
class MyPP(protocol.ProcessProtocol):
def connectionMade(self):
print "connectionMade!"
process = psutil.Process(self.transport.pid)
print process.pid, process.exe
def outReceived(self, data):
print "out", data,
def errReceived(self, data):
print "error", data,
def processExited(self, reason):
print "processExited"
def processEnded(self, reason):
print "processEnded"
print "quitting"
pp = MyPP()
reactor.spawnProcess(pp, 'cat', ['cat'])
reactor.run()
我希望得到“xxxx /bin/cat”,但我得到了以下内容:
connectionMade!
31293 /usr/bin/python2.7
我用ps查了一下,pid是对的,但是executable是错的
ming.dai 31293 0.0 0.0 4328 356 pts/6 S+ 10:30 0:00 cat
有人可以告诉我正确的方法或正确的时间来执行生成过程吗?
非常感谢!