python 进程操作psutil
psutil 可以获取系统运行状态,包括系统进程、CPU、内存、磁盘等信息,可以用于监控系统状态,且支持Linux/macOS/Windows平台。
安装psutil
pip install psutil
进程查询
psutil.pids()
psutil.Process(pid)
进程id
>>> print(psutil.pids())
[0, 4, 140......]
>>> print(psutil.Process(0))
psutil.Process(pid=0, name='System Idle Process', status='running')
杀死windows 进程
import os
import signal
os.system("taskkill -f -pid 8036")
os.kill(8036, signal.SIGINT)
示列
import psutil
import os
import signal
pids = psutil.pids()
for pid in pids:
p = psutil.Process(pid)
pid_name = p.name()
print(f"{pid} {pid_name}")
for pid in pids:
if pid in orig_pids:
pass
else:
try:
p = psutil.Process(pid)
process_name = p.name()
if 'sleep_test1' == process_name:
print("kill specific process: pid(%s) %s" %(pid,p.name()))
os.kill(pid, signal.SIGINT)
except Exception as err:
pass
遇到的问题
- 程序执行时报错 psutil.AccessDenied: psutil.AccessDenied (pid=13340)
? 解决办法:该错误时权限不足导致的。可以通过以管理员身份运行 方式pycharm然后再执行脚本方式解决。通过以管理员身份运行cmd,然后再cmd里执行Python脚本也可以解决。
|