Ubuntuで起動/停止できるシステムサービスを作成する

Ubuntuで起動/停止できるシステムサービスを作成する

実行可能な形式で利用可能なサーバーを構築し、それを起動/停止/再起動できるサービスとして登録したいと思います。

私は次の質問を読んで、他の多くの人もそれを愛していました。>実行可能ファイルをサービスとして実行するには?

私の問題はsudo systemctl stop myexecutableservice

現在の状況では、サービスを停止してもバックグラウンドプロセスは引き続き実行され、サーバーは依然として要求を受け入れます。

答え1

これは最も単純なケースに対する答えです。

あなたがしなければならない/etc/systemd/system/myservice.serviceのは、セクションを含むINIファイルを作成することだけです[Service]

非常に簡単なサービスは次のとおりです。

[Service]
ExecStart=/usr/bin/myapp arg1 arg2

サービスが存在することを確認してから、sudo systemctl start myserviceまたはsudo systemctl stop myservice

Serviceこのセクションでは、カスタマイズ、作業ディレクトリ、環境変数、フォークされたプロセス管理方法、プロセス停止方法、優先順位など、他の多くのタスクも実行できます。より systemd.service(5)このセクションの仕組みの詳細。

ログに表示するセクションを[Unit]定義し、他のデバイスとの関係を定義するセクションを追加することもできます。Description=バラより systemd.unit(5)

[Install]セクションを宣言することも可能です。これにより、何が起こるかを定義できますsystemctl enable myservice。バラより systemd.unit(5)

答え2

私の実行可能ファイルはすべての終了イベントで終了していない別のプロセスを開始したので、新しい.serviceファイルを作成して実行可能ファイルに再コンパイルしました。今はうまくいきます。

関連情報