私はRetrospectというバックアップソフトウェアクライアント用のsystemdスクリプトを書いています。ソフトウェアは、一般的なLinuxの動作方法に従わない。プログラムから状態を取得することは、プログラムが実行中であることを意味しますretrocpl -status
。これには、現在systemdが自動的に収集しない重要な情報が含まれています。どういうわけかステータス出力に追加できますか?
[Service]
ExecStart=/usr/local/retrospect/client/retroclient
ExecStop=/usr/local/retrospect/client/retrocpl -stop
Restart=on-failure RestartSec=60s
私はsystemd 229でUbuntu 16.04を使用しています。
$ systemd --version
systemd 229
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN
$ lsb_release -d
Description: Ubuntu 16.04.1 LTS
編集:Wielandが指摘した誤った情報を削除しました。ありがとうございます!
ベストアンサー1
systemdには、アプリケーションが表示されているサービス管理者にメッセージを送信できるプロトコルがありますsystemctl status
。これはアプリケーション自体で実装する必要があります。アプリケーションはアクティブでなければなりません。送るステータス通知。
追加読書
- レナルト・ペトリング(2010)。
sd_notify()
。システムのマニュアルページ。 freedesktop.org. - レナルト・ペトリング(2010)。
systemd-notify
。システムのマニュアルページ。 freedesktop.org. - ジョナサンデボインポラード(2015)。 」正式なサーバーの意図的な違反により採用が制限される持つ合意に合格した」Unixデーモンの準備プロトコルの問題。よく与えられる答えです。
- ジョナサンデボインポラード(2015)。 」クライアント資格情報を抽出するときに同期プロトコルを使用する」Unixデーモンの準備プロトコルの問題。よく与えられる答えです。