我在Maya中使用Maya Python编写了一些代码来渲染超过2,000张图片。由于Maya有很多工作需要完成,因此在漫长的渲染过程中,Maya可能会崩溃。所以我必须制作一个模块来监控Maya。如果Maya卡住,该模块必须保持Maya继续并修改错误。我想知道可以使用哪些工具来实现此功能。我应该用什么样的语言来编写这个模块?
答案 0 :(得分:1)
廉价的解决方案就是在主脚本运行时将日志写入文本文件,并在更改时使用单独的监视进程检查该文件。这是一个StackOverflow question,展示了如何在Python中完成它。在您的情况下,您可以继续轮询文件,并在长时间过去而不更新日志文件的情况下强行重新启动该过程。
答案 1 :(得分:0)
使用一些renderfarm程序作为截止日期或其他。
答案 2 :(得分:0)
如果您需要随时可以使用的应用程序,而不是使用RenderBOX - Advanced Rendering Manager免费。
如果你想监视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
这是一个跨平台的库,因此可以在所有操作系统中使用。