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

Pour être honnête, je pense qu'il y a certainement une meilleure façon. Mais laissez-le comme un mémorandum

Résumé pour ceux qui ne veulent pas perdre de temps

--Ce que vous avez fait: obtenez le PID et tuez-le pour toujours dans une boucle infinie

Chose que tu veux faire

Je veux continuer à tuer un processus spécifique qui relance même si je le tue. Le processus semble démarrer régulièrement en arrière-plan. Environnement: macOS Catalina

Tout d'abord, recherchez le nom du processus

Ouvrez le moniteur d'activité depuis Applications> Utilitaires et recherchez le nom du processus. process_mosaic.png

Essayer

Organisez le contenu

Maintenant que vous connaissez le nom du processus, organisez ce que vous voulez faire. Ce que je veux faire

à propos de ça. Donc en tant que processus

--ps aux | grep ProcessName pour voir si le processus est en cours d'exécution et le tuer s'il l'est

Cela semble être correct. Écrivons un script

la mise en oeuvre

#!/bin/bash

while true;
do
    #Entrez le nom du processus que vous souhaitez tuer dans ProcessName
    TARGETPID=`ps aux | grep ProcessName | grep -v grep | awk '{print $2}'`

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

    sleep 5
done

Comme vous pouvez le voir, ce n'est qu'une boucle infinie. (D'une manière ou d'une autre, j'ai essayé de le faire toutes les 5 secondes)

--check le processus avec ps aux | grep ProcessName --grep -v grep exclut ses propres résultats --Awk '{print $ 2}' extrait uniquement le PID -Stocker le résultat de ↑ dans une variable une fois, tuer s'il n'est pas vide

Je fais ça. Je le fais toutes les 5 secondes, mais je pense que ce n'est pas grave s'il s'agit de ce type de traitement, même si c'est toutes les 1 seconde ou pas à intervalles.

Operation Not Permitted

Ce message peut s'afficher lorsque vous essayez de tuer. Dans un tel cas, vous pouvez essayer de tuer avec sudo une fois. (sudo kill ou sudo kill -9)

#Entrez l'ID du processus que vous souhaitez tuer dans PID

sudo kill PID
#Ou
sudo kill -9 PID

Si cela ne fonctionne pas, connectez-vous à nouveau en tant qu'utilisateur root mac et exécutez-le en tant que cet utilisateur pour le tuer ... (je ne peux rien dire car je ne l'ai pas confirmé)

Recommended Posts

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