2015-05-05 71 views
4

編輯:按照吉姆·拉什的意見,我現在使用的rc.local代替的init.d照片直接到永遠運行開始啓動了。起始節點應用樹莓PI

我令人頭我的頭就這一個。

我想開始在樹莓派的啓動和重啓節點應用程序。我永遠用它來調用應用程序,並使用init.d作爲debian風格的開始指令。

我已經在/etc/init.d目錄下創建了kuyi文件,並賦予它755的權限,並且在編輯完文件後運行update-rc.d kuuyi默認有希望觸發Raspbian啓動它重新啓動/啓動。

這是我的init.d文件:

#!/bin/sh 
#/etc/init.d/kuuyi 

### BEGIN INIT INFO 
# Provides:    kuuyi 
# Required-Start: 
# Required-Stop: 
# Default-Start:  2 3 4 5 
# Default-Stop:   0 1 6 
# Short-Description: Kuuyi 
### END INIT INFO 

case "$1" in 
start) 
/usr/local/bin/forever --sourceDir=/home/pi/kuuyi_device -p /root/.forever run.js 
;; 
stop) 
/usr/local/bin/forever stop --sourceDir=/home/pi/kuuyi_device run.js 
;; 
*) 

echo "Usage: /etc/init.d/kuuyi {start|stop}" 
exit 1 
;; 
esac 
exit 0 

任何想法,這是爲什麼不工作?我在Raspberry Pi B +上運行Raspbian。我運行了/etc/init.d kuuyi start並永遠踢,並開始應用程序就好了。它只是在啓動機器後才發生。

任何幫助是這樣理解的,我對作爲擰乾的就這一個奶牛一天後舊紗布。

+0

。也許你可以在'case'語句之前加上這一行:'echo「$(date'+%Y%m%d-%H:%M:%S'):args = $ @」>>/home/pi/kuuyi-args.log'。這至少會確認你的腳本是否被調用。 – tivn

回答

2

我從運行的/etc/rc.local節點(實際上nodemon)。只需在命令行中輸入&即可。我還將stderr和stdout重定向到日誌文件,以解決啓動和崩潰問題。在任何寫入的目錄上獲得權限是我的早期問題之一。

實施例:

PATH=$PATH:/opt/node/bin 
cd /var/node/RoadsterNode 
/opt/node/bin/nodemon /var/node/RoadsterNode/app.js </dev/null>/var/tmp/startup.log 2>/var/tmp/startup.err & 
我不使用覆盆子-π
+0

感謝Jim對此有幫助。我用永久調用修改了我的rc.local文件,如下所示:/ usr/local/bin/forever -l /home/pi/kuuyi_device/out.log -a start /home/pi/kuuyi_device/run.js&。 ....仍然沒有運氣。這可能是因爲我的腳本本身在開始時就開始冒出來了。 – risingtiger

+0

@risingtiger嘗試捕獲stdout和stderr到一個文件,以便您可以看到發生了什麼。在我添加的例子中,你會注意到,當我設置它時,我發現節點不在我的路徑上。 –

+0

這似乎是伎倆!我一直在爲此掙扎一段時間。非常感謝。 – risingtiger