【发布时间】:2018-06-25 21:59:11
【问题描述】:
我想执行一些erlang命令,shell可以通过一些命令来启动:
/opt/myserver/bin/myserver 远程控制台
上面的命令将启动一个 shell,我可以在其中执行 erlang 命令。我想从我的 python 脚本中做同样的事情。
我尝试使用子进程来执行此操作,但这似乎不起作用。
import shlex
from subprocess import Popen, PIPE
cmd = '/opt/myserver/bin/myserver remote_console'
proc = Popen(shlex.split(cmd), stdin=PIPE, stdout=PIPE, stderr=STDOUT)
er_cmd = web_api_handler:process_rfid(30001,<<“RC“>>,arg).
out = proc.communicate(input=er_cmd)
上述方法执行 erlang 命令,但由于某种原因失败。但是,我可以在不使用 python 子进程的情况下启动 shell 时执行相同的命令。
我尝试使用proc.stdin.write(),然后也使用proc.communicate(),但效果不佳。
【问题讨论】:
-
“由于某种原因失败”。那是什么原因?你有错误信息吗?