ai-train_platform/query_process_status.py

34 lines
1019 B
Python

import psutil
def get_process_status(pid):
try:
# 获取进程对象
process = psutil.Process(pid)
# 获取进程状态
status = process.status()
# 获取其他信息(可选)
process_info = {
"pid": pid,
"name": process.name(),
"status": status,
"cpu_percent": process.cpu_percent(interval=0.1),
"memory_info": process.memory_info().rss, # 物理内存使用量(字节)
"create_time": process.create_time(), # 进程创建时间(时间戳)
}
return process_info
except psutil.NoSuchProcess:
return {"message":f"{pid} not exists"}
except psutil.AccessDenied:
return {"message":f"{pid} 无权限访问进程"}
except Exception as e:
return {"message":f"{pid} 获取进程信息时出错"}
# # 示例:查看 PID 为 1234 的进程状态
# pid = 1234 # 替换为实际 PID
# result = get_process_status(pid)
# print(result)