我有一個運行簡單NodeJS應用程序的無頭Raspberry Pi。如何從Raspberry Pi上的Node.js應用程序執行關機命令
我附加到Pi的唯一接口是一個單一的按鈕,它啓動和停止一個timelapse視頻錄製。
我知道在沒有正確關閉的情況下切斷Pi電源並不是一個好習慣,所以我想向Node添加一個關閉命令。
使用ShellJS,我可以做到這一點很簡單 - 如果用戶五秒鐘按住按鈕,我可以叫
shell.exec('sudo shutdown -h now');
這將關閉皮。當我通過ssh連接到Pi並且我自己調用了節點命令('node app.js')時,它的工作方式和預期一樣。但我的目標是讓我的Node應用程序在啓動時自動運行。我這樣做,通過使用「/etc/rc.local中」調用腳本的啓動:
su pi -c 'node /path/to/app.js'
在這種情況下,關機命令不工作,我甚至不知道如何訪問節點控制檯查看它正在拋出什麼樣的錯誤。有人可以在這裏指出我正確的方向嗎?
請問'pi'用戶有須藤PRIVS?另外,它可能是'$ PATH'問題,嘗試使用'sudo'和'shutdown'的完整路徑。 – robertklep
這效果好多了,謝謝。但你能解釋爲什麼嗎?由於我在學習Linux,我很想了解何時以及爲什麼需要爲命令提供完整路徑。 –