【Linux】systemd で、systemctl start ***.service 実行後、Active: inactive (dead) になってしまう

■ 現象

https://blogs.yahoo.co.jp/dk521123/37393788.html
で、systemd を利用して、独自のサービスを立ち上げようと試みた。
systemctl start ***.service 実行後に、systemctl status ***.service 実行したら、
「running」ではなく、「Active: inactive (dead) 」でサービスがうまく立ち上がらない

内部で使用しているスクリプトは、単独で実行した場合は、意図した動作をしている。

■ 原因

コマンドの実行終了後もステータスをアクティブにしておきたいのだが、
「RemainAfterExit=yes」の設定がなかったため、そのまま終了していた

■ 対応案

 * 「RemainAfterExit=yes」を追記する

# 「Type=oneshot」でなく、ほかのタイプにしても、「RemainAfterExit=yes」は必要。

/etc/systemd/system/cloudwatch-alerm.service

[Unit]
Description = Create & Delete Cloud Watch Alarm

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/opt/aws/cloudwatch/create-delete-alerm.sh start
ExecStop=/opt/aws/cloudwatch/create-delete-alerm.sh stop
KillMode=none

[Install]
WantedBy=multi-user.target


関連記事

AWS CLI [4]-2 ~ CloudWatch で、EC2 上にある プロセスのアラームを作成する ~

https://blogs.yahoo.co.jp/dk521123/37393788.html

Linux】 systemd でサービスを立ち上げる

https://blogs.yahoo.co.jp/dk521123/37022877.html