2014-10-12 64 views
-1

在我的樹莓派上,我希望自己的書面服務器能夠在啓動時啓動,並在分段故障時重新啓動,因此我將其添加到/etc/inittab。問題是,服務器將無法啓動inittab中的Raspberry Pi服務器

我加了一行:

1:2345:respawn:/home/gear/lionfish/main /home/gear/lionfish/app 

當我運行從它工作得很好的命令行命令,但服務器不能運行。我已經用ps aux進行了檢查,並沒有顯示出來

我犯了某種錯誤嗎?

編輯:小方面的問題。服務器需要root權限,inittab會自動執行此操作,還是需要向其添加內容?

+1

從inittab啓動的可執行文件/腳本可能沒有與從常規登錄shell啓動它們時相同的環境設置。腳本中是否有可能依賴於它們的內容? – 2014-10-12 15:45:18

回答

0

典型問題:

  1. 如前所述,環境設置不同。確保$ PATH是正確的。
  2. 您的程序是否嘗試在未掛載的目錄中執行?如果是這樣,請cd /首先。
  3. 訪問文件和目錄的限制。
  4. 進程不會從標準輸入/標準輸出/標準錯誤中分離。
  5. 該進程在前臺而不是後臺運行。
  6. 父進程接收終止信號,例如SIGTERM,它也會終止您的進程。嘗試通過使用nohup或sigset/sigignore忽略這個(和其他一些)信號。

調試提示:讓服務器通過將當前時間附加到保證可寫的目錄中已有文件的末尾來啓動。確保你立即刷新(並關閉)文件指針。那麼至少你可以看到它是否完全啓動。