Ansible – Wie kann man jeden Linux-Prozess, der auf einem Remote-Host läuft, grep (ps -few) und beenden?

Veröffentlicht: 2022-02-24

Ansible – Wie man jeden Linux-Prozess, der auf einem Remote-Host läuft, grep (ps -few) und tötet

Ansible ist ein ziemlich erstaunliches Systemverwaltungstool. Wir haben in den letzten Wochen eine Reihe von Artikeln auf Ansible veröffentlicht, in denen es um das Kopieren von Dateien auf einem Remote-Host, das Ausführen von Befehlen auf Remote-Hosts, das Installieren von Java, Python auf einem Remote-Host usw. geht.

In diesem Tutorial erfahren Sie, wie Sie einen Java-Prozess, der auf einem Remote-Host ausgeführt wird, grep und diesen Remote-Prozess mit einem einfachen Ansible-Playbook beenden.

Hier sind die Schritte, die wir in diesem Tutorial ausführen werden:

  • Führen Sie auf dem Remote-Host CrunchifyAlwaysRunningProgram.java aus
    • Folgen Sie dem Tutorial zum dauerhaften Ausführen eines Programms in Java
    • Ausführen des Java-Programms mit nohup java CrunchifyAlwaysRunningProgram &

Wie überprüfe ich, ob der Prozess gestartet wurde und auf dem Remote-Host ausgeführt wird?

Ansible - Wie Grep (ps -few) und Kill-Prozess, der auf einem Remote-Host ausgeführt wird?

Überprüfen Sie die Prozess ID 18174 .

  • Erstellen Sie eine Datei crunchify-hosts , die eine entfernte Host-IP hat
  • Erstellen Sie die Datei crunchify-grep-kill-process.yml mit ansiblen Aufgaben für den Grep- und Kill-Java-Prozess
  • Befehl ausführen: ansible-playbook -i ./crunchify-hosts crunchify-grep-kill-process.yml
  • Überprüfen Sie das Ergebnis auf der macOS-Terminalkonsole

crunchify-hosts-Datei

Die Datei enthält die Remote-IP-Adresse und Anmeldeinformationen, die es ermöglichen, sich ohne Passwort anzumelden.

crunchify-grep-kill-process.yml-Datei

Hier erhält die ansible Playbook-Datei alle Java-Prozesse und beendet sie mit dem einfachen Befehl kill -9 .

Ansible Playbook ausführen:

Wie verifizieren?

Versuchen Sie einfach, den grep-Prozess auf dem Remote-Host erneut auszuführen.

Wie Sie bemerken, sehen Sie die process ID 18174 nicht in der Liste und es wird kein Java-Prozess ausgeführt.

Das ist es.

Dies ist der einfachste Weg, Java-Prozesse mit Ansible zu verarbeiten und zu beenden. Lassen Sie mich wissen, wenn beim Ausführen dieses Ansible playbook .