[英]How can I start a bash script 20 seconds after startup?
我得到了一個bash腳本,用於停止程序,掛載pi並再次啟動程序。 我想在啟動時啟動它,但是在程序本身啟動之后。 所以我的想法是簡單地等待一段時間(20或30秒),然后啟動腳本( task.sh
)。 知道我該怎么做嗎? 或任何其他想法如何解決這個問題? (我想讓腳本等待程序啟動將無法正常工作,原因是腳本將在程序重新啟動后重新啟動,對嗎?)
謝謝和問候,伊萊亞斯
假設您使用的是Debian / Debian衍生發行版(Ubuntu / Mint / Etc),這是獲得所需結果的方法。
使用任何文本編輯器在建議的路徑中創建腳本(這里使用簡單的nano):
nano /home/pi/task.sh
粘貼到task.sh中:
sleep 40
/home/pi/pi_video_looper/disable.sh
mount -a
/home/pi/pi_video_looper/install.sh
使腳本可執行:
chmod +x /home/pi/task.sh
確保腳本可以運行它:
/home/pi/task.sh
確定腳本正常運行后,請編輯rc.local:
sudo nano /etc/rc.local
這里的一個關鍵概念是,您在rc.local中放置的任何內容都將以root權限執行。
因此,無需使用sudo。
在出口0之前添加以下內容:
/home/pi/task.sh
重新啟動並測試
感謝您提供的所有幫助,但我可以按照本教程自行解決:
在/etc/init.d/
創建一個新文件,在此我將其稱為示例 。
所以:
須藤nano /etc/init.d/example
這將是在樹莓派啟動后執行的文件。 該文件的代碼如下:
#!/bin/sh
### BEGIN INIT INFO
# Provides: Für welches Programm ist das Script?
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Kurze Beschreibung
# Description: Längere Beschreibung
### END INIT INFO
# Actions
case "$1" in
start)
# START
;;
stop)
# STOP
;;
restart)
# RESTART
;;
esac
exit 0
因為我希望此腳本在啟動和重新啟動時啟動/home/pi/task.sh
,所以我只需要輸入
/home/pi/task.sh
在;;
之前 在# START
和# RESTART
如果已完成,請保存並退出。 然后輸入
sudo chmod +x /etc/init.d/example
使腳本可執行。 最后一步是定義運行級別:
sudo update-rc.d example defaults
之后,您可以重新啟動並查看它是否有效。
我希望每個人都清楚:)
(僅對我來說: https : //jankarres.de/2014/07/raspberry-pi-autostart-von-programmen-einrichten/ :D)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.