Linux で 2 つのアプリケーションを起動する systemd スクリプトの作成

Linux で 2 つのアプリケーションを起動する systemd スクリプトの作成

OS: ラズパイ

2つのアプリケーションを同時に実行できませんrc.local

systemdでアプリを起動する方法の簡単な例を見つける必要があります

問題は、サーバーを起動するための具体的な例しか見つからず、それらが非常に複雑であるため、アプリケーションを実行する単純な systemd ファイルの記述方法、そのファイルの配置場所、および起動方法を理解するのが難しいことです。

実行しようとしている2つのアプリは次/home/pi/app1のとおりです。/home/pi/app2

次のようなコマンドラインを実行すると、両方のアプリが同時に実行されます

/home/pi/app1 & /home/pi/app2 &

しかし、何らかの理由で、同じ行をrc.localに入れると、最初のアプリだけが実行されます。

rc.localからデータをダンプすることもできないようです

/home/pi/app1 & /home/pi/app2 &> /tmp/log /tmp/logファイルは作成されない

なぜこれが機能しないのか理解できません。systemd を使用するように提案されましたが、オプションが多すぎて不必要に複雑になっています。

これらのアプリの 1 つを実行するための単純な systemd ファイルはどのようになるでしょうか?

起動時にこれら2つのアプリを起動できる信頼性の高いものが欲しいだけです。

ありがとう

答え1

systemd の支持者は、スクリプトを書く必要がないので systemd の方が簡単だと言います。

systemd の場合、 用と 用の 2 つのサービスが必要になる可能性があります。 にファイルを作成します。たとえば、app1次のようにします。app2/etc/systemd/systemapp1.service

[Unit]
Description=app1 systemd service.

[Service]
Type=simple
ExecStart=/path/of/your/app/app1

[Install]
WantedBy=multi-user.target

起動時に有効にするには

systemctl enable app1.service

関連情報