0

SSH 进入 VOLTTRON 实例,安装代理工作。注销,重新登录并安装会导致以下错误:

2016-09-13 11:46:24,409 () volttron.platform.vip.agent.subsystems.rpc ERROR: unhandled exception in JSON-RPC method 'install_agent': 
Traceback (most recent call last): 
File "/home/volttron/volttron/volttron/platform/vip/agent/subsystems/rpc.py", line 168, in method
return method(*args, **kwargs)
File "/home/volttron/volttron/volttron/platform/control.py", line 287, in install_agent
agent_uuid = self._aip.install_agent(path, vip_identity=vip_identity)
File "/home/volttron/volttron/volttron/platform/aip.py", line 296, in install_agent
unpack(agent_wheel, dest=agent_path)
File "/home/volttron/volttron/env/local/lib/python2.7/site-packages/wheel/tool/__init__.py", line 135, in unpack
sys.stderr.write("Unpacking to: %s\n" % (destination))
IOError: [Errno 5] Input/output error
4

1 回答 1

0

当任何后台进程被拒绝时,ssh 会话将终止,stdeff 和 stdout 不会重定向到 /dev/null,并且进程尝试写入其中任何一个都会导致 IOError。

在这种情况下,VOLLTRON 在安装代理时使用的第三方库之一尝试写入标准错误(令我们非常懊恼)。即使平台使用 -l 选项运行,它仍然偶尔会写入 stderr。不幸的是,没有可靠的方法让 VOLTTRON 在所有情况下都使用 stderr 做正确的事情,所以我们必须让用户知道他们何时需要将输出重定向到 /dev/null。

要在后台运行,请使用 start-stop-daemon 自动将所有内容重定向到 /dev/null 或使用此命令启动平台:

volttron -vv -l volttron.log > /dev/null 2>&1&

然后,您可以安全地拒绝该过程并注销。安装仍然有效。

于 2016-10-21T19:43:53.190 回答