既存の動作中のサービスに対する認識されないサービス - Ubuntu 18.04

既存の動作中のサービスに対する認識されないサービス - Ubuntu 18.04

Ubuntu Server 18.04 の起動時にスクリプトをロードしようとしています。.serviceスクリプトは にインストールされており/etc/systemd/system、以下を実行できます。

service my-service start

そして:

service my-service stop

しかし、起動時に実行しようとすると(Web によると、次のように実行する必要があります):

 service my-service enable

システムは次のように応答します:

 my-service: unrecognised service

Web で検索すると、18.04 には適用されない古いバージョンの Ubuntu で実行する方法しか示されず、答えを見つけるための正しい用語を判断することができません。

スクリプト:

# filename: /etc/systemd/system/my-service.service
[Unit]
Description=My Service
After=network.target
After=mysqld.service

[Service]
User=the-user
WorkingDirectory=/home/the-user/path-to-script
ExecStart=/home/the-user/path-to-script/start.sh
SuccessExitStatus=0
TimeoutStopSec=10
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

私の質問は、何が間違っているのかということです。起動時にこのサービスを開始するにはどうすればよいのでしょうか。

答え1

実際のコマンドは次のようsystemdになります。

sudo systemctl enable my-service

参考までに、ユニット ファイルを通常のユーザー (自分自身など) に対して実行する場合、ユニット ファイルにメイン システム ディレクトリを使用する必要はありません。次のようなディレクトリに作成できます。

~/.config/systemd/user/

次に、次の操作を実行します。

systemctl --user enable my-service

これにより、sudo

コメントで指摘されているように、ユーザーごとにディレクティブsystemdのインスタンスを実行する場合は、User

答え2

注記:
同じエラーが発生する他のインスタンスでは、
コマンドservice物体初め !

service foo start

systemctlコマンドは逆の動作をします:

systemctl start foo

また、サービスでは「.service」を追加できませんが、systemctl を使用する場合は追加できます。

関連情報