![](/img/trans.png)
[英]How can I pull data from a program currently running on my computer using Python?
[英]How to monitor a maya program running in my computer?
我使用 Maya Python 在 Maya 中編寫了一些代碼來渲染 2,000 多張圖片。 由於 Maya 有很多工作要完成,在漫長的渲染過程中,Maya 可能會崩潰。 所以我必須制作一個模塊來監控 Maya。 如果 Maya 卡住,模塊必須讓 Maya 繼續運行並修改錯誤。 我想知道我可以使用什么工具來實現這個功能。 我應該使用哪種語言來編寫這個模塊?
廉價的解決方案是在主腳本運行時將日志寫入文本文件,並在文件更改時使用單獨的監控進程來檢查該文件。 這是一個StackOverflow 問題,展示了如何在 Python 中做到這一點。 在您的情況下,如果長時間沒有更新日志文件,您可以繼續輪詢文件並強行重新啟動該過程。
使用一些渲染農場程序作為截止日期或其他東西。
如果您需要一個隨時可用的應用程序來滿足您的需求,那么請使用RenderBOX - 高級渲染管理器,它是免費的。
如果您想監控在您的電腦中運行的Maya程序,您可以使用psutil python 庫。
psutil(進程和系統實用程序)是一個跨平台庫,用於在 Python 中檢索有關正在運行的進程和系統利用率(CPU、內存、磁盤、網絡)的信息。 它主要用於系統監控、分析和限制進程資源以及管理正在運行的進程。
您需要做的就是:在運行過程中查找“maya.exe”、“mayabatch.exe”、“render.exe”。 獲取正在運行的進程的名稱和狀態的快速方法是:
import psutil
process_id_list = psutil.pids()
for process_id in process_id_list:
process = psutil.Process(process_id)
name = process.name()
status = process.status()
print name, status
這是一個跨平台的庫,因此適用於所有操作系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.