我在尝试安装 VOLTTRON 代理时遇到 Input/Output 错误
I get an Input/Output error when trying to install a VOLTTRON agent
通过 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
当任何后台进程被拒绝时,ssh 会话将终止,stdeff 和 stdout 不会重定向到 /dev/null,进程会尝试写入任何一个,这会导致 IOError。
在这种情况下,VOLLTRON 在安装代理时使用的第三方库之一尝试写入 stderr(令我们非常懊恼)。即使平台是 运行 并带有 -l 选项,它仍然偶尔会写入 stderr。不幸的是,没有可靠的方法让 VOLTTRON 在所有情况下都对 stderr 做正确的事情,所以我们必须让用户知道他们什么时候需要将输出重定向到 /dev/null.
到 运行 在后台使用 start-stop-daemon 自动将所有内容重定向到 /dev/null 或使用此命令启动平台:
volttron -vv -l volttron.log > /dev/null 2>&1&
然后您可以安全地拒绝该进程并注销。安装仍然有效。
通过 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
当任何后台进程被拒绝时,ssh 会话将终止,stdeff 和 stdout 不会重定向到 /dev/null,进程会尝试写入任何一个,这会导致 IOError。
在这种情况下,VOLLTRON 在安装代理时使用的第三方库之一尝试写入 stderr(令我们非常懊恼)。即使平台是 运行 并带有 -l 选项,它仍然偶尔会写入 stderr。不幸的是,没有可靠的方法让 VOLTTRON 在所有情况下都对 stderr 做正确的事情,所以我们必须让用户知道他们什么时候需要将输出重定向到 /dev/null.
到 运行 在后台使用 start-stop-daemon 自动将所有内容重定向到 /dev/null 或使用此命令启动平台:
volttron -vv -l volttron.log > /dev/null 2>&1&
然后您可以安全地拒绝该进程并注销。安装仍然有效。