「systemctl stop service」がサービスを呼び出せないのはなぜですか?

「systemctl stop service」がサービスを呼び出せないのはなぜですか?
vim /home/mytest.sh
rm -f /home/mytest/*

削除操作を実行するサービスを作成したいと思います。
私の期待:
sudo systemctl stop mytest/home/mytestのファイルを削除し、何もできません
sudo systemctl start mytest

マイサービスファイルを編集します。

sudo vim /etc/systemd/system/mytest.service
[Unit]
Description=delete file

[Service]
Type=oneshot
ExecStart=/bin/true
ExecStop=/bin/bash /home/mytest.sh

[Install]
WantedBy=multi-user.target

有効にしてください。

sudo systemctl enable mytest

これでmytestサービスに奇妙な動作があることがわかりました。

sudo systemctl start mytest/home/mytestにあるファイルを削除し、
sudo systemctl stop mytest何もできません。

なぜ?詳しく説明してください。

ベストアンサー1

これについて詳しく説明します。システムサービス文書しかし、何が起こっているのかを理解するには、ほとんどすべての内容を読む必要があります。この例の中で最も関連性の高い部分は実施例3である。宣言した 1 回限りのサービスは決してアクティブ化されないため、開始ジョブが完了すると停止ジョブが実行されることを読者は理解できます。

目標を達成するには、まだアクティブなワンタイムサービスが必要です。

[Unit]
Description=delete file

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStop=/bin/bash /home/mytest.sh

[Install]
WantedBy=multi-user.target

おすすめ記事