我正在嘗試讓我的 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
提交
取消