Obtenir le PID d'un processus pour tuer, sans connaître son nom complet
Je suis codage d'une application Android. Maintenant, je vais dans une pièce où la demande doit tuer un processus. Mais je ne sais pas son nom complet ou son PID. Je Connais les commandes:
android.os.Process.killProcess(Pid)
et
android.os.Process.getUidForName("com.android.email")
Mais mon problème est que je ne sais pas le nom complet du processus.
C'est un code natif processus, afin de ne pas quelque chose comme com.quelque chose.quelque chose
Le processus est /data/data/com.something.something/mybinary
mais il est en cours d'exécution avec des commandes comme
/data/data/com.something.something/mybinary -a 123 -b 456
de ce fait je ne peux pas utiliser
android.os.Process.getUidForName("/data/data/com.something.something/mybinary")
OriginalL'auteur user1114653 | 2011-12-24
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser:
Vous pouvez obtenir tous les processus en cours d'exécution du package noms, vérifier que l'on vous voulez les tuer, de les choisir que les processus d'obtenir l'id de processus en service.pid.
Et appel:
ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); c'est la façon dont vous l'initialiser.
Ne pas obtenir des processus de /data/data/com.quelque chose.quelque chose/mybinary
Avec killProcess(pid), vous ne pouvez tuer un processus que vous avez créé, conformément à la documentation de developer.android.com/reference/android/os/.... Utilisation ActivityManager.killBackgroundProcesses(paquet) de tuer une autre application du processus.
OriginalL'auteur AAnkit
votre nom du processus est " /data/data/com.quelque chose.quelque chose/mybinary'
d'abord obtenir l'id de processus du processus natif cours d'exécution par l'analyse de la sortie de haut, puis utiliser android.os.Processus.killProcess(Pid)
}
OriginalL'auteur Dheeraj Sachan
J'ai eu le même problème.Enfin,je trouve une méthode pour tuer mon processus binaire avec android code java.
tout d'abord,le processus d'écriture d'infos d'un fichier txt:
et puis,l'utilisation de code java pour lire ce fichier,vous pourriez obtenir de la Chaîne:
vous avez le pid de processus, d'exécuter la commande kill en java.
OriginalL'auteur coffee8651
Vous pouvez faire qch comme ceci:
Ensuite, vous pouvez analyser sb et obtenir le pid du processus en cours.
J'ai ajouté le code.
mhh je l'ai extrait le pid en fait un entier, mais im essayant de le tuer avec android.os.Processus.killProcess(pid); mais il n'a pas travaillé. quand im me tuer avec: android.os.Processus.killProcess(android.os.Processus.myPid()); ça fonctionne mais avec un autre pid pas :S
fait avec su kill -9
C'est dangereux, parce que le
ps
peut avoir différentes sorties avec boîte à outils ou busybox versions, etc.OriginalL'auteur Yury