我使用了以下命令来获取最重要的进程列表:
ps aux --sort=-%mem
,输出如下:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
prsingh 20785 24.9 26.5 3581008 2084044 ? Sl 11:28 4:26 /home/prsingh/.config/Ethereum Wallet/binaries/Geth/unpacked/geth --fast --cache 1024
prsingh 3029 1.0 7.6 1428144 602328 ? Sl 08:26 2:10 /opt/google/chrome/chrome --type=renderer --field-trial-handle=1 --primordial-pipe-token=FDB365719E2EC19E6F4536F485544FC7 --lang=en-GB --ena
prsingh 24866 22.4 5.7 1236812 454032 ? Sl 11:42 0:44 /opt/google/chrome/chrome --type=renderer --field-trial-handle=1 --primordial-pipe-token=88641F011686F1602A4BBEF8F2A30D49 --lang=en-GB --ena
prsingh 3088 0.2 5.3 1287836 417820 ? Sl 08:26 0:31 /opt/google/chrome/chrome --type=renderer --field-trial-handle=1 --primordial-pipe-token=FECA2AB7525721EB2EE0DE7DBA8DB391 --lang=en-GB --ena
prsingh 2847 6.2 3.6 1388544 287132 ? SLl 08:26 12:24 /opt/google/chrome/chrome
root 1272 3.1 3.3 811276 259752 tty7 Ssl+ 08:25 6:20 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
prsingh 3558 0.1 2.5 950144 198620 ? Sl 10:23 0:09 /opt/google/chrome/chrome --type=renderer --field-trial-handle=1 --primordial-pipe-token=57B4A5FE3EB41E14CD7D964712114F3A --lang=en-GB --ena
prsingh 2585 2.4 2.3 1555188 182048 ? Sl 08:25 4:59 compiz
我正在尝试使用 python 将每一行转换为列表。我无法找到正确的正则表达式。
我希望我的输出像:
['prsingh', 20785, 24.9, 26.5, 3581008 , 2084044, '?' , 's1' , 11:28 , '/home/prsingh/.config/Ethereum Wallet/binaries/Geth/unpacked/geth --fast --cache 1024' ]
我能做到的最好方法是什么?我不能用空格或制表符分隔字符串,因为它们输出的输出不正确。
是否有正则表达式可以帮助或任何其他替代方案?
此问题与Splitting out the output of ps using Python不重复,正则表达式部分的差异。它可以通过拆分字符串来完成,但我愿意实现一个正则表达式。如果我使用具有相同输出但COMMAND
部分最终没有的命令,那么问题的重要性也不能满足需要。
具体如果我使用ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
命令,