簡體   English   中英

在打開的樹莓派上運行 python 腳本

[英]run a python script on raspberry pi turned on

我在 raspberry pi 3 上工作了大約 3 個月,當我開始使用它時遇到了問題。 我找不到一種有效且安全的方法在樹莓派打開時在其上運行 python 腳本(沒有顯示器和鼠標和鍵盤)。目前我在 /etc/profile 添加了“$sudo run myscript.py &”但有時當我打開它時,我的腳本不會運行,直到我將監視器和鼠標和鍵盤連接到它並使用 GUI 運行腳本,然后它工作正常(再次沒有鼠標和鍵盤)。

我想知道是否有任何解決方案可以確保在打開樹莓派后我的腳本會運行?

非常感謝

您需要設置一個service和用戶sudo service <my_service> [start, stop, restart]以使其在啟動時工作。 請參閱此處以供參考。

/etc/profile在啟動新的 shell 會話時執行,因此除非您至少啟動一個 shell 會話,否則您的腳本將不會運行。 此外,它會在會話停止時終止,如果您啟動多個會話,那么腳本也會為每個會話啟動,這可能不是您想要的。

根據您的初始化系統,您需要創建 SysVinit 或 systemd 服務。 假設您使用基於 systemd 的發行版(目前大多數 Linux 發行版的默認設置),您需要執行以下操作:

第 1 步:將您的腳本放置在服務將執行的位置。 例如/usr/local/bin/可能是不錯的選擇。

第二步:創建服務文件。 假設您想將其命名為myscript.service ,請在以下路徑/etc/systemd/system/myscript.service創建具有以下內容的文件:

[Unit]
Description=myscript

[Service]
ExecStart="/usr/bin/python /usr/local/bin/myscript.py"

[Install]
WantedBy=multi-user.target

第 3 步:重新加載 systemd 守護進程並啟用您的服務:

systemctl daemon-reload
systemctl enable myscript

現在重新啟動系統后,您的服務應該會自動啟動。 您可以使用返回服務狀態的命令systemctl status myscript來驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM