簡體   English   中英

啟動20秒后如何啟動bash腳本?

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

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