我有一个ansible playbook来杀死正在运行的进程并且在大多数情况下工作得很好!但是,我们不时会发现无法杀死的进程,"wait_for"进入超时,抛出错误并停止这个过程.
目前的解决方法是手动进入框中,使用"kill -9"并再次运行ansible playbook,所以我想知道是否有办法从ansible本身处理这个场景?我的意思是,我不想从一开始就使用kill -9但我可能是一种处理超时的方法?,即使只在进程没有在300秒内被杀死时使用kill -9?但最好的办法是什么?
这些是我目前的任务:
- 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 }}"
Run Code Online (Sandbox Code Playgroud)
谢谢!