ヘイヘイ!システムのどこでも実行できるノードスクリプトがあります。
/usr/bin/node /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js
その後、xビットも追加しました。
sudo chmod +x /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js
今私が望むのはサービスとして実行するだけです。だからmaserver.service
ファイルを作成しました。/etc/systemd/system
[Service]
ExecStart= /usr/bin/node /home/admin/git-repos/MMMMobileAlerts/maserver/mobilealerts.js
私もそれを試しました#!
。
コマンドを入力してsudo systemctl daemon-reload
確認してください。
sudo systemctl status maserver
● maserver.service
Loaded: loaded (/etc/systemd/system/maserver.service; static)
Active: failed (Result: exit-code) since Mon 2023-08-21 10:00:16 CEST; 5h 9min ago
Main PID: 2404124 (code=exited, status=1/FAILURE)
CPU: 234ms
Aug 21 10:00:16 dockerpi node[2404124]: at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
Aug 21 10:00:16 dockerpi node[2404124]: at Module._load (node:internal/modules/cjs/loader:922:27)
Aug 21 10:00:16 dockerpi node[2404124]: at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
Aug 21 10:00:16 dockerpi node[2404124]: at node:internal/main/run_main_module:23:47 {
Aug 21 10:00:16 dockerpi node[2404124]: code: 'MODULE_NOT_FOUND',
Aug 21 10:00:16 dockerpi node[2404124]: requireStack: []
Aug 21 10:00:16 dockerpi node[2404124]: }
Aug 21 10:00:16 dockerpi node[2404124]: Node.js v18.17.1
Aug 21 10:00:16 dockerpi systemd[1]: maserver.service: Main process exited, code=exited, status=1/FAILURE
Aug 21 10:00:16 dockerpi systemd[1]: maserver.service: Failed with result 'exit-code'.
Raspbianでsystemdを使用してNodeJsスクリプトをサービスとして実行したいと思います。
答え1
Nodeから呼び出されたjsにサービスファイルのユーザーとグループディレクティブを設定して、同じ問題を解決しました。
[Service]
User=ubuntu
Group=ubuntu