擅长:python、mysql、java
<p>您的<code>ShellHandler</code>的<code>execute</code>方法返回三项,第一项是您发送给它的<em>输入</em>。你知道吗</p>
<p>无论如何,你应该直接这样称呼它:</p>
<pre><code>obj = ShellHandler('Servername','username','password')
in, out, err = obj.execute("ps -eo pid,lstart,%mem,%cpu,cmd")
for line in out.split('\n'):
pid, lstartwd, lstartmo, lstartdd, lstartm, lstartyy, mem, cpu, cmd = line.split(None, 8)
</code></pre>
<p>我最后移动了<code>cmd</code>,因为它可能包含空格。<code>lstart</code>值还包含多个空格分隔的字段。Debian的输出如下:</p>
<pre><code>19626 Tue Jan 15 15:03:57 2019 0.0 0.0 less filename
</code></pre>
<p>关于如何更详细地解析<code>ps</code>输出有许多问题;我将向您介绍如何准确地处理来自<code>split</code>的结果。你知道吗</p>
<ul>
<li><a href="https://stackoverflow.com/questions/682446/splitting-out-the-output-of-ps-using-python">Splitting out the output of ps using Python</a></li>
<li><a href="https://stackoverflow.com/questions/3559157/is-there-any-way-to-get-ps-output-programmatically">Is there any way to get ps output programmatically?</a></li>
</ul>