systemdでプロセスをサービスにする方法は?

systemdでプロセスをサービスにする方法は?

Linuxでプロセスをサービスに切り替えるコマンドまたは方法は何ですか?サービスは本質的にデーモンプロセスではありませんか?

ベストアンサー1

ユーザーサービスの例は、これを行う方法を説明する最も簡単な方法です。

mytaskサービスとして実行したいバイナリまたはスクリプトがあります/usr/local/bin/

次の内容でホームディレクトリにsystemd名前が付けられたユニットファイルを作成します。my_example.service~/.config/systemd/user/

[Unit]
Description=[My example task]

[Service]
Type=simple
StandardOutput=journal
ExecStart=/usr/local/bin/mytask

[Install]
WantedBy=default.target

この行は、ExecStart実行するバイナリまたはスクリプトのパスを指定する場所なので、最も関連性があります。

起動時にサービスが自動的に開始されるようにするには、次の手順を実行します。

systemctl --user enable my_example.service

再起動せずにすぐにサービスを開始するには、次の手順を実行します。

systemctl --user start my_example.service

サービスを停止するには、次を実行します。

systemctl --user stop my_example.service

サービスの状態を確認するには、次の手順を実行します。

systemctl --user status my_example.service

おすすめ記事