私がターゲットとしているマシンは、理論上、 'marketaccess {client_name}'という個々のクライアントごとにプロセスを実行する必要があり、このプロセスが実行されていることを確認します。プロセスが実行されているかどうかを確認することは非常に困難です。以下は、特定のマシン上で実行中のプロセスがあるかどうかを確認するために使用しようとしているプレイブックです。私は 'stdout'を条件付きで実行し、顧客の名前が含まれていない場合は、指定された顧客に対して再起動プロセススクリプトを実行することを計画しています。問題は、このプレイブックを実行すると辞書オブジェクトに属性 'stdout'がないことがわかりますが、 '.stdout'を削除してもうまく動作し、service_statusのstdout値がはっきりとわかります。可能なプロセスのステータスを確認
- name: Check if process for each client exists
shell: ps aux | grep {{ item.key|lower }}
ignore_errors: yes
changed_when: false
register: service_status
with_dict: "{{ customers }}"
- name: Report status of service
debug:
msg: "{{ service_status.stdout }}"
こんにちはコンスタンチン、ご助言ありがとうございます。このプレイブックを作成するより良い方法をお勧めしますので、プロセスをクリーンシングルタスクで個別にチェックすることができますか? –