Que fait' adb shell start/stop'?

Question

Ce n' adb shell start et adb shell stop en fait?

Description

je pense qu'ils appellent /system/bin/start et /system/bin/stop. Mais ces deux exécutables ne donnent aucune idée de ce qu'ils font. Lorsque testé sur un appareil réel, j'ai trouvé le processus zygote est commencé et arrêté. Ces deux commandes semblent donc contrôler L'exécution Android (qui correspond aux parties jaune et bleu dans la figure ci-dessous).

Android Architecture

mais ce exact processus/services ces deux commandes sont-elles lancées ou interrompues?

25
demandé sur Community 2012-11-05 08:12:53
la source

3 ответов

Exécuter sur votre appareil

grep ^service /init*rc
1
répondu Alex P. 2012-11-09 19:55:13
la source

En Gros, tous vos services Android sont redémarrés; ceux qui sont créés et enregistrés dans SystemServer.java. Ceci est appelé dans le"contexte de Zygote". Donc oui, Zygote est arrêté.

tous vos services enregistrés avec ServiceManager Dans Android sera supprimé dans ServiceManager. Pour les redémarrer, faites adb shell start.

notez aussi que SystemServer est démarré par Zygote, donc init.rc dit que si Zygote est arrêté, alors même SystemServer doit être arrêté. Même SurfaceFlinger meurt, car il est commencé à partir de SystemServer mais en mode natif.

10
répondu human.js 2015-11-19 09:49:00
la source

je me suis demandé ce que" stop " fait sur Android aussi. Appris de quelqu'un que "stop" empêche AP être rendu par SurfaceFlinger.

A essayer avec la commande comme ci-dessous. Exécutez la commande, attendez quelques secondes puis exécutez "stop" sur Android. La commande continue d'imprimer le nombre accru et la création .les fichiers txt. Donc peut-être qu'il arrête seulement la partie Android pendant que la partie Linux reste active. Juste pour info.

busybox sh -c 'i=0;while [ $i -ne 100 ]; do echo $i >> count.txt; sleep 1; i=$(($i + 1)); echo $i; touch "$i.txt"; done;'
1
répondu Di Liu 2014-07-22 07:35:30
la source

Autres questions sur