#python #linux #ssh #putty
#python #linux #ssh #putty
Вопрос:
после многих неудачных исследований я решил задать свой вопрос здесь, так что, возможно, кто-нибудь даст мне ответ или подсказку по возникшей у меня проблеме.
У меня есть скрипт Python, который выполняется как фоновый процесс на встроенном устройстве (ОС является дистрибутивом Linux). Этот скрипт выполняет важные измерения, и из-за этого его нельзя завершить или перезапустить.
Мне было интересно, возможно ли реализовать фрагмент кода, который перенаправит выходные данные print () на консоль Putty SSH, когда мы отправим ему команду через протокол обмена сообщениями (MQTT).
Итак, ситуация будет такой:
- Устройство получает команду, устанавливает переменную в 1
- Выходные данные Print () теперь будут видны в текущем корневом сеансе, открытом SSH-клиентом Putty.
Я не знаю, возможно ли это, но я открыт для предложений.
Заранее благодарю вас за ваши ответы и прошу прощения за мой плохой английский.
Комментарии:
1. Это звучит как сильно «специализированное» решение. Не было бы проще поместить ваш скрипт python в некоторое файловое пространство (возможно, каким-то «вращающимся» способом, чтобы избежать заполнения драгоценного пространства) и «закрыть» этот файл при входе в систему?
2. Дубликат на разных сайтах: unix.stackexchange.com/questions/58550 /…
3. Хорошо, спасибо, я думаю, что сделаю это
Ответ №1:
Как было предложено GhostCat, я решил использовать решение для ведения журнала, чтобы любой, кто может подключиться к устройству по SSH, мог просто «закрыть» файл журнала и просмотреть отладочные сообщения.
Я удалил все операторы print() в коде и заменил их протоколированием вызовов (что, действительно, более профессиональный подход)
Если у кого-то был тот же вопрос, что и у меня, вы можете прочитать это: http://www.blog.pythonlibrary.org/2014/02/11/python-how-to-create-rotating-logs /
или это: https://docs.python.org/2/howto/logging.html#logging-basic-tutorial
чтобы помочь вам решить вашу проблему.
Еще раз спасибо GhostCat и Tripleee за их помощь.