我正在尝试使用python获取Mac上打开的应用程序的列表,然后使用mysql将其保存在服务器上...我希望使用子进程,但结果不是我想要的
答案 0 :(得分:2)
psutils可能会帮助您:
import psutils
list(psutil.process_iter())
[psutil.Process(pid=0, name='kernel_task', started='2019-01-26 16:05:40'),
psutil.Process(pid=1, name='launchd', started='2019-01-26 16:05:40'),
psutil.Process(pid=40, name='syslogd', started='2019-01-26 16:05:45'),
...]
您还可以自己解析ps aux
:
import subprocess
subprocess.Popen(['ps','aux'], stdout=subprocess.PIPE).stdout.readlines()
[b'USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND\n',
b'username 7834 7,9 9,5 7643484 797292 ?? S 4:03 4:32.77 /Applications/Firefox.app/Contents/MacOS/firefox\n',
b'username 7839 6,9 3,4 5363256 285900 ?? R 4:03 0:11.68 /Applications/iTerm.app/Contents/MacOS/iTerm2\n',
...]