私はsystemctlを学び始め、nodejsスクリプトを実行するサービスファイルを生成しようとしましたが、実行されず、エラーが実際に理由を教えてくれません。
私が取ったステップは次のとおりです。
1)/lib/systemd/system
次のコマンドを使用してファイルをナビゲートして生成します。
sudo nano /lib/systemd/system/hello_env.service
2) 次のサービスファイルを生成します。
[Unit]
Description=
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/node /home/dev/index.js
Restart=always
[Install]
WantedBy=multi.user.target
3) 種類sudo systemctl daemon-reload
4) プロセスを開始します。
sudo systemctl start hello_env
5) 状態確認:
sudo systemctl status hello_env
次のエラーが発生しました。
> hello_env.service Loaded: loaded
> (/lib/systemd/system/hello_env.service; disabled; vendor pres
> Active: failed (Result: exit-code) since Wed 2020-01-29 16:00:37 IST;
> 2s ago Process: 25605 ExecStart=/usr/bin/node
> /home/dev/index.j Main PID: 25605 (code=exited,
> status=1/FAILURE)
>
> Jan 29 16:00:37 sf-env systemd[1]: hello_env.service: Main process
> exited, code Jan 29 16:00:37 sf-env systemd[1]: hello_env.service:
> Failed with result 'exit- Jan 29 16:00:37 sf-env systemd[1]:
> hello_env.service: Service hold-off time ove Jan 29 16:00:37 sf-env
> systemd[1]: hello_env.service: Scheduled restart job, re Jan 29
> 16:00:37 sf-env systemd[1]: Stopped index.js - starting the bot. Jan
> 29 16:00:37 sf-env systemd[1]: hello_env.service: Start request
> repeated to Jan 29 16:00:37 sf-env systemd[1]: hello_env.service:
> Failed with result 'exit- Jan 29 16:00:37 sf-env systemd[1]: Failed to
> start index.js.
/home/dev/index.js
スクリプトに移動して実行するとnode index.js
正常に動作します。欠けている部分を教えてください。
ベストアンサー1
この行をエコーして問題を解決しましたが、ExecStart=/usr/bin/node /home/dev/index.js
スクリプトにエラーがあることを確認しました。
したがって、後で参照できるようにExecStartをデバッグして、実際に機能していることを確認してください。