簡體   English   中英

在Boot Raspberry Pi上的前景中運行腳本

[英]Run Script in Foreground On Boot Raspberry Pi

我有一個在啟動時運行的腳本,我想使用鍵盤與腳本進行交互。 我已經成功地將其設置為在crontab中運行; 但是,該腳本在后台運行,並且我無法使用鍵盤與該腳本進行交互。 這是腳本的簡化示例:

def write_to_txt(item_to_write):
    with open("my_txt_file.txt", "a") as myfile:
        myfile.write('\n'+str(item_to_write))

while True:
    keys_to_enter = raw_input()
    write_to_txt(keys_to_enter)

請有人能指出我正確的方向嗎?

我發現了如何在啟動時運行腳本並允許鍵盤與程序交互。 在〜/ .bashrc文件中,我附加了:

sudo python /home/pi/example.py

如果我理解正確,您希望您的程序將其stdin附加到tty1嗎? 即如果您已連接顯示器,則在屏幕上看到的終端-如果未安裝X窗口或未使用Ctrl + Alt + Fx切換tty,默認情況下這是在哪里輸入鍵盤?

將后台腳本進程的所有權移至tty1上的shell是一個選擇嗎? 如果是這樣,最簡單的方法可能是自動登錄Pi (否則用戶將需要在啟動時使用鍵盤登錄)。 然后在tty1上自動啟動程序,以便其stdin / stdout綁定到tty1。

為了實現后者,我認為您可以將其調用放入一個bash啟動腳本中,類似於此處建議的內容: https : //www.raspberrypi.org/forums/viewtopic.php?f=29&t=7192

通過在/etc/rc.local中添加一行,可以在啟動時在前台運行腳本。

根據我的經驗,這很有用,特別是如果Raspberry pi配置為在引導時等待網絡可用

暫無
暫無

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

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