Python中文
首页
教程
问答
标签
搜索
登录
注册
通过Python子进程modu在shell中进行管道连接
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>所以我试图查询给定机器上的前3个CPU“密集型”进程,我找到了这个shell命令来完成这个任务:<code>ps -eo pcpu,pid,user,args | sort -k 1 -r | head -3</code></p> <p>我想在Python脚本中使用这些数据,因此需要能够通过<code>subprocess</code>模块捕获上述命令的输出。下面的操作有效,但返回一个很大的字符串,因为我没有将它限制在前3个:</p> <p><code>psResult = subprocess.check_output(['ps', '-eo', 'pcpu,user,args'])</code></p> <p>我不太清楚这个<code>subprocess.check_output</code>是怎么工作的。。在一次微不足道的尝试中,我试着:</p> <p><code>subprocess.check_output(['ps', '-eo', 'pcpu,user,args', '|', 'sort', '-k', '1', '-r', '|', 'head', '-3'])</code></p> <p>这给了我一个错误:<code>ps: illegal argument: |</code></p> <p>如何在Python中使用管道<code>|</code>符号,或者使用其他方法进行排序,而不必对<code>psResult = subprocess.check_output(['ps', '-eo', 'pcpu,user,args'])</code>返回的巨大字符串进行大量的解析?</p> <p>谢谢! 当做, -克斯特鲁克</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果您使用:</p> <pre><code>subprocess.check_output("ps -eo pcpu,pid,user,args | sort -k 1 -r | head -3", shell=True) </code></pre> <p>然后使用<code>/bin/sh</code>运行命令,这样管道就可以工作了。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何重塑数组、迭代列的所有行并将重塑后的数组分配给新列?Python/Pandas/Numpy
9 回答
如何重塑数组的形状?
8 回答
如何重塑文本数据以适应keras的LSTM模型
7 回答
如何重塑未对齐的数据集,并使用numpy丢弃剩余数据?
3 回答
如何重塑此数据以使用绘图
4 回答
如何重塑此数据帧?
8 回答
如何重塑此数据集以适应RNN
10 回答
如何重塑没有列的数组?
4 回答
如何重塑测试数据帧,使其维数与训练和预测工作中使用的维数相同?
8 回答
如何重塑系列以在StandardScaler中使用它
4 回答
如何重塑线性回归的数据
5 回答
如何重塑线性回归的数据?
6 回答
如何重塑表格?
4 回答
如何重塑要堆叠的重复宽数据帧?
3 回答
如何重塑输入以放入二维层?
5 回答
如何重塑输入神经网络的三通道数据集
2 回答
如何重塑这个numpy数组
2 回答
如何重塑这个numpy数组以排除“额外维度”?
6 回答
如何重塑这个numpy阵列?
9 回答
如何重塑这个数据帧
7 回答