aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/testbed-setup/ansible/roles/cleanup/tasks/kill_process.yaml
blob: 4a1180b77f8e40f8dad04d387932ca793f810e61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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