Ansible – 如何 Grep (ps -few) 并杀死远程主机上运行的任何 linux 进程?

已发表: 2022-02-24

Ansible – 如何 Grep (ps -few) 和杀死远程主机上运行的任何 linux 进程

Ansible 是一个非常了不起的系统管理工具。 过去几周,我们在 Ansible 上发表了许多文章,内容涉及如何在远程主机上复制文件、如何在远程主机上执行命令、如何在远程主机上安装 Java、Python 等等。

在本教程中,我们将介绍如何 grep 在远程主机上运行的 java 进程并使用简单的 ansible playbook 杀死该远程进程。

以下是我们将在本教程中执行的步骤:

  • 在远程主机上,运行 CrunchifyAlwaysRunningProgram.java
    • 遵循如何在 Java 中永远运行程序的教程
    • 使用nohup java CrunchifyAlwaysRunningProgram &运行 java 程序

如何检查进程是否在远程主机上启动并运行?

Ansible - 如何在远程主机上运行 Grep (ps -few) 和终止进程?

签出进程ID 18174

  • 创建具有远程主机 IP 的文件crunchify-hosts文件
  • 创建文件crunchify-grep-kill-process.yml具有用于 grep 和杀死 java 进程的 ansible 任务
  • 运行命令:ansible-playbook -i ./crunchify-hosts crunchify-grep-kill-process.yml
  • 在 macOS 终端控制台上检查结果

crunchify-hosts 文件

文件包含远程 IP 地址和凭据,这将有助于 ansible 无需密码即可登录。

crunchify-grep-kill-process.yml 文件

这里 ansible playbook 文件正在获取所有 java 进程,使用简单的kill -9命令将其杀死。

执行 Ansible 剧本:

如何验证?

只需尝试在远程主机上再次 grep 进程。

如您所见,您不会在列表中看到process ID 18174 ,并且没有任何 Java 进程正在运行。

而已。

这是使用 Ansible grep Java 进程和杀死的最简单方法。 如果您在运行此Ansible playbook时遇到任何问题,请告诉我。