1

rpyc (v 3.3.0) を使用して、psutil モジュールを使用してリモート サーバーで実行されているプロセスのリストを取得しています。私のコードは以下の通りです。

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

プロシージャのリストを正しく取得していますが、一部のプロセス属性が正しく設定されていません。例えば:

>>> 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すべてのプロセスを印刷すると、リストの 143 番目のプロセス オブジェクトの名前が None と表示されます。しかし、オブジェクトにアクセスした後、突然名前の正しい値を確認できます。

この問題を解決する方法について何か提案はありますか?

4

1 に答える 1

1

RPyC でこのような問題が発生したことはありません。それはおそらくそのプロセスと関係があります。印刷する代わりに、str(proc) を呼び出してから proc._name を呼び出すと、役に立ちますか? また、プライベート メンバー (_name) を使用しようとしているようです...おそらくそれが問題ですか? 使える公有財産はないの?

于 2015-01-06T05:09:11.060 に答える