RHEL 8 へのリプレイス対応のため、
systemdの理解を深めたいと思っている私。
上記をはじめ、いろいろとドキュメントを漁るも、
「どういうこっちゃい??」なんで、
さくっと自作コマンドを作ってサービス化しているナレッジがあったので、
舐めるように実践。
具体的な手順に関してはリンク先を参照。
/tmp/hello.logに" hello world " を打ち込むだけのサービスを作成。
手順を踏みながら、掴んでおきたい要点をチェック。
/etc/systemd/system/ の下にUnit定義ファイルを作る
Unit 定義ファイルの場所は2箇所あり。
・ /usr/lib/systemd/system/
ここはシステムのデフォルト。
・/etc/systemd/system/
ここはカスタマイズする際に使用するところ。
なので、上のサービス作成ではこちらを使用。
Unit 定義ファイルの書き方は以下を参照。
定義ファイルを置き、systemctl list-unit-files --type=serviceにて出力されればよし↓
# systemctl list-unit-files --type=service | grep hello hello.service disabled
作ったサービスを自動起動登録するとCreated symlinkされる
具体的にこんな動きをする↓
# systemctl enable hello Created symlink /etc/systemd/system/multi-user.target.wants/hello.service → /etc/systemd/system/hello.service.
multi-user.targetとは、従来のランレベル3を指している。
それからサービスは問題なく起動。
結果を見ると、きちんとhello worldが記述されていた。
# tail /tmp/hello.log hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world
書きながら整理して、なんとなく輪郭が見えてきた。
あとは下記を読むのが良さそう。
うむ。やはり動かしてみて挙動を見るのがはじめの一歩にふさわしいと思った。
「考えるより、感じる」
これ重要なり(個人主観)。