【问题标题】:Starting a python server hijacks the lxterminal启动 python 服务器劫持 lxterminal
【发布时间】:2020-07-18 13:35:49
【问题描述】:

我正在尝试让我的 Rasberry Pi 3B 在一个终端中运行 Python 命令,同时运行本地服务器以从单个启动文件进行摄像头流式传输。

一切都自行运行,但是一旦我使用 Python 命令启动服务器,终端就会被服务器劫持。任何想法如何仅通过 Python 来防止这种情况?

import io
import os
import socketserver
from threading import Condition
camera = PiCamera()

    class StreamingServer(socketserver.ThreadingMixIn, server.HTTPServer):
        allow_reuse_address = True
        daemon_threads = True
        logging = False
    output = StreamingOutput()
    camera.start_recording(output, format='mjpeg')
    try:
        address = ('', 8000)
        server = StreamingServer(address, StreamingHandler)
        server.serve_forever()
    finally:
        camera.stop_recording()

我试过了,但它并没有阻止服务器超越终端。

class StreamingHandler(server.BaseHTTPRequestHandler):
    def log_message(self, format, *args):
        if self.server.logging:
            server.BaseHTTPRequestHandler.log_message(self, format, *args)

有什么想法吗?

【问题讨论】:

    标签: python server raspberry-pi


    【解决方案1】:

    解决了,不感谢你们这些潜伏者。

    解决方案:

    我制作了一个 bash 脚本来从虚拟环境启动服务器

    #!/bin/sh
    # launcher.sh
    # navigate to home directory, then to this directory, then execute python script, then back home
    sleep 5
    cd /
    cd home/pi
    . ../env/bin/activate; python bootServer.py
    cd /
    

    并将其添加到 crontab

    sudo crontab -e
    

    随行

    @reboot sh /home/pi/filename.sh >/home/pi/logfolder/cronlog 2>&1
    

    它现在在启动时启动,不再劫持我的终端。 希望有一天这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-06-24
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多