私はあらかじめ設定されたシステムデーモン(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