天天看點

linux程式開機自啟動 不用回車 找不到庫

      linux自啟動應用程式,剛開始是/etc/init.d/rcS加入應用程式或者腳本指令就可以實作開機自動運作,不過出現了“找不到庫”問題,于是把應用程式放到/etc/profile中自己開機啟動的程式,但是不能自啟動,需要敲回車。

解決方法:

       從開發闆的角度講,一般隻要在/etc/init.d/rcS中加入你的程式或者腳本指令就可以實作開機自動運作;想在超級終端輸入回車,登入後執行,則可以在/etc/profile中加入指令;如果想去掉每次開機完後的“Please press Enter to activate this console”這句,也就是實作開機自動登入,可以在/etc/inittab中仿照busybox中example的inittab寫,隻是将::askfirst:-/bin/sh改為::respawn:-/bin/sh即可,如果發現沒有inittab那麼就自己建一個,其他的闆子可以根據自己的情況修改腳本,都差不了多少。

inittab腳本:

::sysinit:/etc/init.d/rcS

::respawn:-/bin/sh

       由于預設的核心指令行上有init=/linuxrc, 是以,在檔案系統被挂載後,運作的第一個程式是根目錄下的linuxrc。 這是一個指向/bin/busybox的連結,也就是說,系統起來後運作的第一個程式也就是busybox本身。這種情況下,busybox首先将試圖解析/etc/inittab來擷取進一步的初始化配置資訊(參考busybox源代碼init/init.c中的 parse_inittab()函數)。而事實上,root_qtopia中并沒有/etc/inittab這個配置檔案,根據busybox的邏輯,它将生成預設的配置 。是以如果需要的話,是可以自己添加/etc/inittab這個配置檔案,對busybox預設執行稍加修改即可達到你所要求的。

    接下來初始化的腳本就是/etc/init.d/rcS

................................

......................................

       到rcS中自己可以看到都執行了哪些操作,以及最後才加載qtopia。在開機啟動後,有些程式需要添加&來使其再背景執行,如加載qtopia,但是我們希望在開機後實時顯示日志檔案或者我們的應用程式寫到檔案中的資訊怎樣來做呢?首先,利用> /dev/tty1是将輸出重定向到tty1(顯示屏);這時可以嘗試把自己開機啟動的程式放到/etc/profile中,作為我這個使用者在自己登入時必須執行的程式,就像在超級終端中輸入指令後的結果一樣。

繼續閱讀