Как получить доступ к терминальному процессу Python, запущенному на сервере, из другого скрипта - PullRequest
0 голосов
/ 24 мая 2019

Рассмотрим ситуацию:

У меня есть сервер Ubuntu с установленным Python, тензорным потоком и другими библиотеками. Мой код представляет собой скрипт на Python, который загружает несколько моделей, некоторые из них предварительно обученные векторы .bin, некоторые файлы из папок сервера и т. Д.

Когда я запускаю скрипт в терминале, он запускает интерактивную сессию, где я ввожу некоторый текст, а скрипт выводит меня обратно (например, чатбота). Во время ответа он вызывает мои модели Ai (Tensorflow, keras).

Вопрос: как я могу получить доступ к этому запущенному сеансу из другого скрипта Python? Я хочу использовать его как функцию: отправлять текст и получать ответ. И, конечно, мне нужно долго запускать этот сеанс терминала в фоновом режиме.

Я прочитал этот и подобные ответы, но не уверен, что это правильное решение (кажется, не полное): В Linux, как предотвратить остановку фонового процесса после закрытия клиента SSH

То, что я спрашиваю, обычно выполняется сервером REST с API, который предоставляет доступ, а затем этот API вызывается из внешнего кода. Но API не работает: ошибки при работе с Tensorflow при запуске через Flask (не удалось исправить).

1 Ответ

0 голосов
/ 25 мая 2019

Если вы хотите, чтобы ваш скрипт оставался включенным после закрытия сеанса ssh, добавьте & disown в конце вашей команды выполнения, и он будет работать в фоновом режиме.

...