我正在尝试让我的 Rasberry Pi 3B 在一个终端中运行 Python 命令,同时运行一个本地服务器以从单个启动文件进行相机流式传输。一切正常,但只要我使用 Python 命令启动服务器,终端就会被服务器劫持。有什么想法可以单独从 Python 中防止这种情况发生吗?import ioimport osimport socketserverfrom threading import Conditioncamera = 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)有任何想法吗?
1 回答
狐的传说
TA贡献1804条经验 获得超3个赞
解决了它,不,谢谢你的潜伏者。
解决方案:
我制作了一个 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
它现在在启动时启动,不再劫持我的终端。希望有一天这对某人有所帮助。
添加回答
举报
0/150
提交
取消