ユーザーがlocalhostのHTTPを介して対話するNodejsアプリケーションを開発しています。実質的にパラメータはなく、デーモンには実質的に依存関係がなく、ログイン時に起動する必要があるだけです。
起動スクリプトについては、各プラットフォームのイディオムをフォローしたいと思います。つまり、UbuntuではUpstart、Fedoraではsystemdです。
私はこれらのリソースを見つけました:
私は主に、リファレンスとしてのAPIと、従うべき基本的なフォーマットを探しています。
Systemdマニュアルページ から始めます。これらは、システムとサービスの包括的なリソースを表します。
freedesktop Systemd FAQs もあります。
次の例は、このリンクから発想を得たものであり、実際にはすべてのステップについて言及しているわけではなく、ソースを信用するためにのみリストされています。 http://patrakov.blogspot.com/2011/01/writing-systemd-service-files .html
ステップ1:基本的に、拡張引数を使用してbashプロセスを起動するこのファイル(場所をメモ)を作成しました。 bashとは異なる独自のコマンドを実行できます。
[root@y500-Fedora ~]# cat /etc/systemd/system/foo.service
[Unit]
Description=foo
[Service]
ExecStart=/bin/bash -c "while true; do /bin/inotifywait -qq --event close_write /sys/class/backlight/acpi_video0/brightness; su myusername -c '/bin/xbacklight -display :0 -set $(cat /sys/class/backlight/acpi_video0/brightness)'; done"
[Install]
WantedBy=multi-user.target
ステップ2:
再ロードsystemd
:
systemctl daemon-reload
新しいサービスを開始します。
systemctl enable foo
(同様にdisable
できます)
(オプション)ステップ3:マルチユーザーモード(実行レベル3)への次の再起動時に自動的に開始されますが、すぐに開始したい場合:
systemctl start foo
systemctl status foo # optional, just to verify
更新:完全を期すために、ubuntu bionicには非常に完全なmanページがあるように見えることを付け加えておきます。 RTFMはここ
Redhatのドキュメントはすばらしい情報源です。