起動時にデーモンなどのバックグラウンドsudo操作をどのように開始しますか?

起動時にデーモンなどのバックグラウンドsudo操作をどのように開始しますか?

私はあらかじめ設定されたシステムデーモン(Debianと一緒にパッケージ化されています)を制御するコマンドを使うのに慣れていますsystemctl。また、手動で起動できるカスタム「サービス」もあります。

sudo process --option

実行されるため、sudoスタートアップリストに追加することはできません(デスクトップセッションにログインしたときに開始されます)。とにかく、私はそれを実行したいと思います:

  • システムが起動すると
  • バックグラウンドで
  • rootユーザーとして

理想的には、以下を選択したいと思います。

  • コマンドラインで停止/開始(または同様の使用systemctl

つまり、他のシステムデーモンのように扱います。事前設定された汎用サービスのように実行するようにカスタムサービスをどのように構成しますか?

答え1

systemd の最新チュートリアルでは、systemd を使用してサービスを実行するための基本を提供します。

# cat /etc/systemd/system/foo.service 
[Unit]
Description=myservice

[Service]
ExecStart=/path/to/myservice/executable

[Install]
WantedBy=multi-user.target

その後、有効にします。

systemctl daemon-reload
systemctl enable myservice
# Start / Stop
systemctl start myservice
systemctl stop myservice

関連情報