X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Ftestbed-setup%2Fansible%2Froles%2Fcleanup%2Ftasks%2Fkill_process.yaml;fp=resources%2Ftools%2Ftestbed-setup%2Fansible%2Froles%2Fcleanup%2Ftasks%2Fkill_process.yaml;h=4a1180b77f8e40f8dad04d387932ca793f810e61;hb=d01411c3c4af6c724a3800c621804ea979818d6d;hp=0000000000000000000000000000000000000000;hpb=50d21f72ff61d06641954c22a8bc13c2468388f9;p=csit.git diff --git a/resources/tools/testbed-setup/ansible/roles/cleanup/tasks/kill_process.yaml b/resources/tools/testbed-setup/ansible/roles/cleanup/tasks/kill_process.yaml new file mode 100644 index 0000000000..4a1180b77f --- /dev/null +++ b/resources/tools/testbed-setup/ansible/roles/cleanup/tasks/kill_process.yaml @@ -0,0 +1,27 @@ +--- +# file: roles/cleanup/tasks/kill_process.yaml + +- name: Kill process - Get pid of {{ process }} + shell: "ps -ef | grep -v grep | grep -w {{ process }} | awk '{print $2}'" + when: > + process is defined and process != "" + register: running_processes + tags: kill-process + +- name: Kill process - Safe kill {{ process }} + shell: "kill {{ item }}" + with_items: "{{ running_processes.stdout_lines }}" + tags: kill-process + +- wait_for: + path: "/proc/{{ item }}/status" + state: absent + with_items: "{{ running_processes.stdout_lines }}" + ignore_errors: yes + register: killed_processes + tags: kill-process + +- name: Kill process - Force kill {{ process }} + shell: "kill -9 {{ item }}" + with_items: "{{ killed_processes.results | select('failed') | map(attribute='item') | list }}" + tags: kill-process