Comment tuer un processus en cours d'exécution à l'aide de ansible?

J'ai un ansible playbook pour tuer les processus en cours d'exécution et fonctionne très bien la plupart du temps!), cependant, de temps en temps, nous trouvons des processus qui ne peuvent tout simplement pas être tué, "wait_for" obtient le délai d'attente, déclenche une erreur et arrête le processus.

La solution actuelle consiste à aller manuellement dans la boîte, utiliser "kill -9" et exécutez l'ansible playbook de nouveau, donc je me demandais si il n'y a aucun moyen de gérer ce scénario à partir d'ansible lui-même?, Je veux dire, je ne veux pas utiliser kill -9 depuis le début, mais j'ai peut-être une façon de gérer le délai d'attente?, même à utiliser kill -9 seulement si le processus n'a pas été tué dans 300 secondes? mais quelle serait la meilleure façon de le faire?

Telles sont les tâches que j'ai actuellement:

- name: Get running processes
  shell: "ps -ef | grep -v grep | grep -w {{ PROCESS }} | awk '{print $2}'"
  register: running_processes

- name: Kill running processes
  shell: "kill {{ item }}"
  with_items: "{{ running_processes.stdout_lines }}"

- name: Waiting until all running processes are killed
  wait_for:
    path: "/proc/{{ item }}/status"
    state: absent
  with_items: "{{ running_processes.stdout_lines }}"

Merci!

OriginalL'auteur Julio Fernandez | 2017-10-01