最近研究在樹莓派中嵌入式開發java程序,並打算和Salesforce進行通信。需要開發一個java的web server,不想弄那么復雜,於是打算在linux系統中/etc/rc.local寫想要執行的語句,比如java –jar /root/test.jar。但是在開機的時候,發現/etc/rc.local里面的命令並沒有執行,這是個頭疼的事情。第一次我考慮到的是,可能在里面的某些語句,比如service isc-dhcp-server start。這類開啟服務的語句,如果dhcp服務在hostapd服務開啟前開啟,會不會因為先后順序而導致失敗呢。於是我把該語句后面加上>/etc/sys.log 把失敗原因輸出到log文件中,但是開機后發現根本沒有此文件,而語句的確是沒有執行的,看來這個猜想是不正確的。網上搜了資料。/etc/rc.local的執行順序是最后面的,也就是說在所有基礎服務開啟后,才執行rc.local文件,再然后便是登陸程序,因此不存在因為某個服務的開啟失敗導致我的語句執行失敗。
如果你的程序也有這樣的情況,估計和我遇到的是相近的。
執行如下:
[root@raspberrypi~]
# ls –l /etc/rc.local
-rw-r--r--. 1 root root 477 6月 10 13:35
/etc
/rc
.
local
發現原來是文件沒有執行權限
,於是按說明的內容執行
chmod
+x
/etc
/rc
.
local
重啟后發現/etc/rc.local能夠執行了,媽媽再也不用擔心我開機任務無法執行了