ansible 剧本:检查 linux 进程计数

ansible playbook: check linux process count

我正在尝试编写一个剧本,当 linux 主机中的进程数 运行 不等于 2 时,该剧本显示失败。以下剧本有效,但有没有更好的方法?比如是否有任何特定的 Ansible 模块来检查进程 linux 主机?

  ---
  - hosts: web
    become: yes
    become_method: su
    become_user: webuser
    tasks:
    - name: process check
      shell: ps -ef|grep -i etas|grep -v grep|wc -l
      register: command_result
      failed_when: "'2' not in command_result.stdout"

你的 Ansible 版本是多少? Linux 中没有统计进程数的 Ansible 模块。您可以通过以下方式使其可读:

  tasks:
  - name: process check
    shell: pgrep etas | wc -l
    register: command_result
    failed_when: command_result.stdout|int != 2