systemdを使ってRaspbian(Jessie)にサービスをセットアップし、起動後に起動させます。リダイレクト>>
が機能していないことをRaspbianのsystemdサービスからstdout/stderrを適切にリダイレクトするにはどうすればよいですか?
[Unit]
After=multi-user.target
[Service]
Type=idle
User=root
ExecStart=/bin/sh -c "exec /home/pi/sources/mydaemon.py >> /home/pi/mydaemon.log 2>&1"
[Install]
WantedBy=multi-user.target
:デーモンの設定は次のようになります。 StandardOutput
とStandardError
のほとんどのオプションを試しましたが、スクリプトの出力を/var/log/daemon.logに出力することはなく、journalctl -u mydaemon.service
は開始と停止のサービスに関するメッセージのみを表示します。
私は現在、スクリプト内のファイル記述子で面白いことはしていません。私はちょうど私のprint()
またはlogging.info()
ステートメントを私がそれらを読むことができるどこかに表示したい。何か案は?
(ただ、明確にするために、デーモンはrootとして実行する必要がない。それは私の印刷の問題とは何かを持っているだろうか?)通常
これは一部のみを動作しているようです時間のRaspbian Jessieのsystemdやjournalctlに何が問題なのか分かりませんが、ログ記録に問題があると思われます。私のスクリプトのつぶやきなので、いつ起動するのかはわかりますが、スクリプトのprint文は通常ジャーナルには表示されません。 – Eric
あなたの答えと併せて、スクリプト内からこのメソッドを試して、私がより良い運があるかどうかを確認します(明示的にメッセージをジャーナルに送信します)。http://stackoverflow.com/questions/34588421/how-to- log-to-journald-systemd-via-python – Eric