猿问

启动 python 服务器劫持 lxterminal

我正在尝试让我的 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)

有任何想法吗?


三国纷争
浏览 77回答 1
1回答

狐的传说

解决了它,不,谢谢你的潜伏者。解决方案:我制作了一个 bash 脚本来从虚拟环境启动服务器#!/bin/sh# launcher.sh# navigate to home directory, then to this directory, then execute python script, then back homesleep 5cd /cd home/pi. ../env/bin/activate; python bootServer.pycd /并将其添加到 crontabsudo crontab -e随着线@reboot sh /home/pi/filename.sh >/home/pi/logfolder/cronlog 2>&1它现在在启动时启动,不再劫持我的终端。希望有一天这对某人有所帮助。
随时随地看视频慕课网APP

相关分类

Python
我要回答