簡體   English   中英

插件通電時如何讓linux(raspberry)運行python腳本?

[英]How to let linux(raspberry) run python script when plugin power?

我有一個python腳本( namely /home/pi/x.py )。 我嘗試了很多方法讓程序運行,例如:

#!/bin/bash
# /etc/init.d/mystart  
### BEGIN INIT INFO
# Provides: Python 

(我在想我在這里(提供:Python)嗎?)

# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: my python initscript
# Description: no description
### END INIT INFO   case "$1" in
    start)
        echo "Starting x.py "
        /home/pi/x.py &
        ;;
    stop)
        echo "Stopping x.py"
        #killall x.py
        kill $(ps aux | grep -m 1 'python /home/pi/x.py' | awk '{ print $2 }')
        ;;
    *)
        echo "Usage: service x.py start|stop"
        exit 1
        ;; esac exit 0

我已經從原始形式修改了此bash,並將其放入

/etc/inti.d/mystart

sudo chmod +x /etc/init.d/mystart

sudo update-rc.d mystart defaults

但是,當我嘗試執行以下操作時: sudo service mystart start

出現一些錯誤! [Unit mystart.service failed to load: No such file or directory.]

所以我在這里被封鎖了,我不知道如何在通電的情況下讓x.py運行

打開/ etc / profile

sudo nano /etc/profile

滾動到底部並添加以下行:

sudo python /home/pi/x.py

其中“ /home/pi/x.py”是腳本的絕對路徑。 鍵入“ Ctrl + X”退出,然后鍵入“ Y”保存,然后按兩次“ Enter”。 現在重新啟動並測試。 python腳本現在應該在啟動時運行

自動登錄設置(無需用戶干預即可執行腳本)

  • 打開/ etc / inittab

    須藤nano / etc / inittab

  • 找到這條線

    1:2345:重生:/ sbin / getty 115200 tty1

  • 在行首添加#字符以禁用它,因此它看起來像

    #1:2345:respawn:/ sbin / getty 115200 tty1

  • 在該行下,添加以下內容:

    1:2345:respawn:/ bin / login -f pi tty1 / dev / tty1 2>&1

其中“ pi”是用戶名。 鍵入“ Ctrl + X”退出,然后鍵入“ Y”保存,然后按兩次“ Enter”。 現在啟動時,raspberrypi將使用pi用戶自動登錄並執行您的腳本

如果沒有/ etc / inittab怎么辦?

我假設您使用的是最新的Raspian圖片(jessie)。 這是基於Debian 8(jessie)更改了init系統的版本。 自動登錄解決方案已經在這里提到

來源: http : //www.raspberrypi-spy.co.uk/2015/02/how-to-autorun-a-python-script-on-raspberry-pi-boot/

我使用了crontab並且效果很好

第1步:

sudo crontab -e

步驟2:填寫

@reboot python /home/pi/x.py &

步驟3:保存並重新啟動

暫無
暫無

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

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