[英]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.