リモートプラットフォームでいくつかのタスクを管理するためのデーモンを作成しました。 これはpythonで書かれ、引数start、stop、およびrestartを受け付けます。 これをsystemdに追加しようとしている間に(システム起動時に起動し、シャットダウン時に停止するなど)、問題が発生しました: デーモンが動作しているようですが、実際に動作するかどうかはわかりません。再起動やエラーでステータスリターンを要求する:
[[email protected] ~]# systemctl restart mydaemon
Failed to restart mydaemon.service: Unit mydaemon.service failed to load: No such file or directory.
[[email protected] ~]# systemctl status mydaemon
● mydaemon.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
仕様:
コード自体は非常にいくつかの変更とサンダーマレシャルによりexampleよく知られている以下の。それ自体は問題なく動作し、受け入れられたすべての引数に適切に反応します。 pidは/tmp/my-daemon.pid
に保存されます。 /usr/lib/systemd/user/mydaemon.service
、以下のようにコードがある:
にsystemdサービスファイルは、ユーザデーモンディレクトリにある
[Unit]
Description=The user daemon
[Service]
Type=forking
ExecStart=/usr/bin/python /home/frcr/mydaemon_v01.py start
ExecStop=/usr/bin/python /home/frcr/mydaemon_v01.py stop
RestartSec=5
TimeoutSec=60
RuntimeMaxSec=infinity
Restart=always
PIDFile=/tmp/my-daemon.pid
[Install]
WantedBy=multi-user.target
systemctl
がアクティブとしてのステータスを返すが、PIDを提供する場合にのみ:
[[email protected] ~]# systemctl status 9177
● session-481.scope - Session 481 of user user
Loaded: loaded
Drop-In: /run/systemd/system/session-481.scope.d
└─50-After-systemd-logind\x2eservice.conf, 50-After-systemd-user-sessions\x2eservice.conf, 50-Description.conf, 50-SendSIGHUP.conf, 50-Slice.conf
Active: active (running) since Tue 2016-05-17 06:24:51 EDT; 1h 43min ago
CGroup: /user.slice/user-0.slice/session-481.scope
├─8815 sshd: [email protected]/0
├─8817 -bash
├─9177 python /home/user/mydaemon_v01.py start
└─9357 systemctl status 9177
私はここでsimilar questionをスタックオーバーフローで見たことがありますが、私の問題の解決策がないようです。
systemdの経験がまったくないために非常に明白なものがないと思います。おかげさまで、ありがとうございました。
ありがとう、本当に役に立ちます。私は次回からドキュメントにもっと注意を払うように努めます。 –