Startup

啟動後如何使用busybox自動執行程序?

  • July 19, 2019

我正在使用帶有busybox的嵌入式linux。我想自動執行名為“myApplication”的應用程序(啟動後執行級別為 5,所有服務都已啟動)。

到目前為止我做了什麼:

  • 我在 /etc/init.d/ 下製作了一個名為 S90myscript 的腳本
  • 然後我將這一行添加到 inittab 中:

::sysinit:/etc/init.d/S90myscript

該腳本包含以下內容:

! /bin/sh
### BEGIN INIT INFO
# Provides: myApplication
# Should-Start: $all
# Required-Start: $remote_fs $network $local_fs
# Required-Stop: $remote_fs
# Default-Start: 5
# Default-Stop: 0 6
# Short-Description: start myprogram at boot time
### END INIT INFO
#

set -e

. /lib/lsb/init-functions
PATH=/root:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin
PROGRAMNAME="myApplication"
case "$1" in
start)
$PROGRAMNAME
;;
stop)
skill $PROGRAMNAME
;;
esac
exit 0

我錯過了什麼嗎?符號連結?我做錯了嗎?

先感謝您

找到了解決方案。

  1. myApplication放在/usr/sbin/
  2. 為位於其中的腳本創建了一個名為 myApp 的符號連結/etc/init.d/S99myAppScript (請注意,沒有 .sh,我必須sudo chmod 755在此腳本上執行)
  3. rcS在位於/etc/init.d/命令之前的文件末尾添加了以下行done
myApp &

重新啟動系統後,myApplication 會自動執行。

引用自:https://unix.stackexchange.com/questions/425389