基本システムサービスファイルの作成

基本システムサービスファイルの作成

私は、ユーザーがlocalhostでHTTPを介して対話するNodejsアプリケーションを開発しています。文字通りパラメータがなく、デーモンは依存関係がほとんどなく、ログイン時に起動されます。

私は各プラットフォームの起動スクリプト慣用語に従いたいと思います。つまり、UbuntuではUpstartを、Fedoraではsystemdを意味します。

  • システムシステムファイルを書くための良いチュートリアルがありますか?
  • 知っておくべき「ベストプラクティス」はありますか?

次のリソースが見つかりました。

私は主に参照として使用する一種のAPIと従うべき基本的なフォーマットを探しています。

ベストアンサー1

次の例はこのリンクからインスピレーションを得ており、実際にすべてのステップに言及するのではなく、帰属のためにリストされています。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バイオニックには非常に徹底したマニュアルページがあるようだという点を追加しなければなりません。ここRTFM

おすすめ記事