[LINUX] 何度も蘇るプロセスを永遠に殺し続ける.sh

Um ehrlich zu sein, denke ich, dass es definitiv einen besseren Weg gibt. Aber lassen Sie es als Memorandum

Zusammenfassung für diejenigen, die keine Zeit verschwenden wollen

--Was Sie getan haben: Holen Sie sich die PID und töten Sie sie für immer in einer Endlosschleife

Was du machen willst

Ich möchte weiterhin einen bestimmten Prozess beenden, der wiederbelebt wird, selbst wenn ich ihn töte. Der Prozess scheint regelmäßig im Hintergrund zu beginnen. Umgebung: macOS Catalina

Suchen Sie zunächst den Prozessnamen

Öffnen Sie den Aktivitätsmonitor unter Anwendungen> Dienstprogramme und suchen Sie den Prozessnamen. process_mosaic.png

Versuchen

Organisieren Sie den Inhalt

Nachdem Sie den Prozessnamen kennen, organisieren Sie, was Sie tun möchten. Was ich machen will; was ich vorhabe zu tun

darüber. Also als Prozess

--ps aux | grep ProcessName, um festzustellen, ob der Prozess ausgeführt wird, und um zu beenden, falls dies der Fall ist

Das scheint in Ordnung zu sein. Lassen Sie uns ein Skript schreiben

Implementierung

#!/bin/bash

while true;
do
    #Geben Sie den Namen des Prozesses, den Sie beenden möchten, in ProcessName ein
    TARGETPID=`ps aux | grep ProcessName | grep -v grep | awk '{print $2}'`

    if [ -n "$TARGETPID" ]; then
        `kill -9 ${TARGETPID}`
    fi

    sleep 5
done

Wie Sie sehen können, ist es nur eine Endlosschleife. (Irgendwie habe ich versucht, es alle 5 Sekunden zu schaffen)

--Überprüfen Sie den Prozess mit ps aux | grep ProcessName --grep -v grep schließt eigene Ergebnisse aus --Awk '{print $ 2}' extrahiert nur PID

Ich mache das Ich mache es alle 5 Sekunden, aber ich denke, es ist in Ordnung, wenn es um diese Art der Verarbeitung geht, auch wenn es alle 1 Sekunde oder nicht in Intervallen ist.

Operation Not Permitted

Diese Meldung wird möglicherweise angezeigt, wenn Sie versuchen zu töten. In einem solchen Fall können Sie versuchen, einmal mit sudo zu töten. (sudo kill oder sudo kill -9)

#Geben Sie die ID des Prozesses, den Sie beenden möchten, in PID ein

sudo kill PID
#Oder
sudo kill -9 PID

Wenn dies nicht funktioniert, können Sie möglicherweise töten, indem Sie sich als Mac-Root-Benutzer anmelden und als dieser Benutzer ausführen ...

Recommended Posts

何度も蘇るプロセスを永遠に殺し続ける.sh