【问题标题】:How to access terminal Python process running on server from other script如何从其他脚本访问在服务器上运行的终端 Python 进程
【发布时间】:2019-05-24 16:11:13
【问题描述】:

考虑情况:

我有一个安装了 Python、tensorflow 和其他库的 Ubuntu 服务器。 我的代码是 python 脚本,它加载了几个模型,其中一些是预训练的向量 .bin,一些来自服务器文件夹的文件,等等。

当我在终端中运行脚本时,它会启动交互式会话,我在其中输入一些文本,然后脚本输出我回来(如聊天机器人)。在回答过程中,它会调用我的 Ai 模型(Tensorflow、keras)。

问题:我如何从其他 python 脚本访问这个正在运行的会话?我的意思是我想将它用作一个功能:发送文本并接收回复。 当然,我需要在后台长时间运行这个终端会话。

我阅读了这个和类似的答案,但不确定是否是正确的解决方案(似乎不是完整的): In Linux, how to prevent a background process from being stopped after closing SSH client

我要问的是,通常是由带有 API 的 REST 服务器完成的,然后从外部代码调用这个 api。但是没有 API wotking:Tensorflow 在通过 Flask 运行时抛出错误(无法修复)。

【问题讨论】:

  • 你真的不需要烧瓶——写你自己的简单界面。
  • @shellter 但是我如何响应并将消息发送到屏幕?
  • @tink 一些建议,也许可以模拟终端?问题是每次对终端的调用都是从 RAM 模型、文件等调用的消息,如果没有带有模型的 ram,它就不起作用
  • @VicNicethemer :对不起,我看错了你的问题。我无法帮助解决这个问题。祝你好运。

标签: python linux ubuntu tensorflow terminal


【解决方案1】:

如果您希望脚本在关闭 ssh 会话后保持运行,请在执行命令末尾添加 & disown,它将在后台运行。

【讨论】:

  • 但我如何响应并将消息发送到屏幕?得到答复
  • 对不起,我没有注意到没有 api。更改获取原始输入的行以从文件中读取它。那么您唯一需要做的就是更新您的脚本正在查找的文件并设置时间间隔以经常检查它。
猜你喜欢
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-27
  • 2021-07-31
  • 1970-01-01
  • 2017-05-26
相关资源
最近更新 更多