ps显然限制了其输出以适合终端的假定宽度。您可以使用
$COLUMNS环境变量或
--columns选项覆盖此宽度
ps。
该
commands模块已弃用。使用
subprocess得到的输出
ps-ef,并在Python进行过滤。不要
shell=True按照其他答案的建议使用,在这种情况下,它只是多余的:
ps = subprocess.Popen(['ps', '-ef', '--columns', '1000'], stdout=subprocess.PIPE)output = ps.communicate()[0]for line in output.splitlines(): if 'rtptransmit' in line: print(line)
您可能还需要看一下
pgrep可以直接搜索特定进程的命令。



