Pour être honnête, je pense qu'il y a certainement une meilleure façon. Mais laissez-le comme un mémorandum
--Ce que vous avez fait: obtenez le PID et tuez-le pour toujours dans une boucle infinie
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
Ouvrez le moniteur d'activité depuis Applications> Utilitaires et recherchez le nom du processus.
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
#!/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