私はLinuxに初めて触れたので、私の質問は明確ではないようです。将来的には、Linuxを十分に学んで、より簡潔にすることを願っています。
問題は、明らかな理由なくクラッシュするサービス(Thingsboard 3.6.1PE)を実行しているサーバーがあることです(ホワイトラベルが原因であるようですが、より徹底的に検索するのに十分なこのOSを知りません)。サービスがクラッシュした場合は、自動的に再起動することにしました。最善の解決策ではありませんが、作業を完了する必要があります。
私はそれを/etc/systemd/system/thingsboard.service
次のように修正しました:
[Service]
ExecStart=/bin/bash /usr/share/thingsboard/bin/thingsboard.jar
Restart=always
RestartSec=5s
使用は許可されていますsystemctl start thingsboard
。その後、サービスは正常に動作します。ただし、ofを使用した後systemctl stop thingsboard
は自動的に再起動する必要があります。そうではありません。代わりに無効になります。
Loaded: loaded (/etc/systemd/system/thingsboard.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Thu 2024-02-01 11:45:10 CET; 4s ago
Process: 1493891 ExecStart=/bin/bash /usr/share/thingsboard/bin/thingsboard.jar (code=killed, signal=TERM)
Main PID: 1493891 (code=killed, signal=TERM)
CPU: 7min 53.762s
それにもかかわらず、次の後にアクティブになりますsystemctl start
。
Loaded: loaded (/etc/systemd/system/thingsboard.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-02-01 11:46:06 CET; 1s ago
Main PID: 1496816 (bash)
Tasks: 28 (limit: 9388)
Memory: 198.9M
CPU: 5.612s
CGroup: /system.slice/thingsboard.service
私の質問は次のとおりです。再起動するには、.serviceファイルに何を入れる必要がありますか?愚かな質問ならすみません。しかし、私はLinuxに初めてアクセスしているので、このサービスがより強力であることを確認する必要があります。どんな答えでもとても感謝します。たぶん別の方法で行う必要があります(まだわかりません)。