rpyc编组对象的问题

时间:2015-01-06 02:37:16

标签: psutil rpyc

我正在使用rpyc(v 3.3.0)来获取使用psutil模块在远程服务器上运行的进程列表。我的代码如下。

 server='hkl20056309'
 rpcClient = rpyc.classic.connect(server)
 rpsutil = rpcClient.modules.psutil
 procs = rpsutil.get_process_list()

我正确获取了proc的列表但是没有正确设置某些进程属性。例如:

>>> procs[166]._name
'mingetty'
>>> procs[140]._name
>>> procs[141]._name
>>> procs[142]._name
>>> procs[142]
<psutil.Process(pid=1828, name='gatengine') at 17483536>
>>> procs[142]._name
'gatengine'
>>>

如果您在访问对象之前看到procs[142]._name未打印(值为None)。如果我打印所有进程,我会在列表中看到143rd进程对象的名称为None。但是在我访问该对象后,突然间我可以看到该名称的正确值。

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:1)

从未见过RPyC这样的问题。这可能与该流程有关。如果你调用str(proc)然后调用proc._name,而不是打印,它有帮助吗?此外,您似乎正在尝试使用私人会员(_name)......也许这就是问题所在?你可以使用一些公共财产吗?