ansible playbook:检查linux进程数

时间:2016-12-21 06:15:50

标签: linux ansible ansible-playbook

我正在尝试编写一个在linux主机上运行的进程数不等于2时显示失败的剧本。以下的playbook工作,但有没有更好的方法呢?比如是否有任何特定的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"

1 个答案:

答案 0 :(得分:3)

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

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