我正在尝试编写一个 Python 脚本,它启动一个子进程,并写入子进程 stdin。我还希望能够确定子进程崩溃时要采取的操作。
我试图启动的过程是一个名为 nuke
的程序,它有自己的内置 Python 版本,我希望能够向其提交命令,然后告诉它在命令执行后退出。到目前为止,我已经算出,如果我在命令提示符上启动 Python,然后启动 nuke
作为一个子进程,然后我可以输入命令到 nuke
,但我希望能够把这一切放在一个脚本,这样主 Python 程序可以启动 nuke
,然后写到它的 标准输入(因此写入它的内置版本的 Python) ,并告诉它做时髦的事情,所以我写了一个脚本,启动 nuke
像这样:
subprocess.call(["C:/Program Files/Nuke6.3v5/Nuke6.3", "-t", "E:/NukeTest/test.nk"])
然后什么都不会发生,因为 nuke
正在等待用户输入。我现在如何写入标准输入?
我这样做是因为我正在运行一个带有 nuke
的插件,它会在渲染多帧时间歇性崩溃。所以我希望这个脚本能够启动 nuke
,告诉它做一些事情,然后如果它崩溃,再试一次。因此,如果有一种方法赶上一次坠机,仍然没有问题,那将是伟大的。