3 votes

Quel est le moyen le plus rapide d'éteindre un téléphone Android non rooté ?

Parfois, j'ai besoin que mon téléphone s'éteigne aussi vite que possible. Dans les anciens téléphones, je pouvais retirer la batterie, mais après quelques "innovations", cette fonction n'est plus présente. Y a-t-il une meilleure option que d'utiliser l'arrêt occasionnel et d'attendre de longues secondes jusqu'à ce qu'il s'éteigne ? C'est particulièrement mauvais lorsque je verse de l'eau sur mon téléphone et que l'écran tactile refuse de fonctionner.

J'utilise le Xiaomo Pocophone F1 avec Android 9.0.

6voto

Irfan Latif Points 16863

En fait, sans retirer la batterie, il est impossible d'éteindre un appareil. complètement afin d'éviter les pertes qui pourraient éventuellement se produire en raison d'un court-circuit causé par l'eau.

Jetons un bref coup d'œil à ce que fermer et quelles sont les options possibles pour y parvenir.

COMMENT FONCTIONNE LE SHUTDOWN ?
Android est basé sur le noyau Linux, qui est le tout premier exécutable du système d'exploitation qui est exécuté lors de l'utilisation du système. processus de démarrage . Le noyau initialise le matériel nécessaire et prépare un environnement de base avant de s'exécuter. init le tout premier processus en userspace que nous pouvons voir. C'est init qui démarre alors et s'occupe de tous les services et processus. À l'arrêt, c'est l'inverse qui se produit.

INIT
Lorsque vous appuyez sur Power Off à partir de Power Menu, ou lorsque vous émettez reboot -p à partir d'une application terminale ou adb il définit la propriété Android sys.powerctl a shutdown (avec une raison facultative pour l'arrêt) qui indique init il est temps de sauvegarder tout le travail non sauvegardé dans un stockage persistant, d'arrêter tous les services et processus de manière élégante (ou brutale), de synchroniser les caches des systèmes de fichiers, de démonter les systèmes de fichiers et de passer le relais au noyau en effectuant un appel système. redémarrer ( réf. ) . Le noyau s'assure ensuite que tous les processus de l'espace utilisateur sont arrêtés, y compris les processus suivants init Il démonte de force tout système de fichiers récalcitrant et finit par mettre hors tension les périphériques matériels, notamment les processeurs et la mémoire vive.

Android init prend en charge deux modes : shutdown y reboot . Linux init dispose de quelques options d'arrêt supplémentaires, notamment halt y poweroff . Voir cette réponse pour plus de détails.

KERNEL
La plupart du temps pendant l'arrêt est occupé par init . Afin de gagner du temps, vous pouvez contourner init et demander directement au noyau de couper l'alimentation en faisant syscall :

reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_POWER_OFF)

C'est ce que busybox poweroff -f ou la commande Clé magique SysRq O (équivalent à Alt - SysRq - O sur un PC) ferait ( réf. ) . Les deux doivent être précédés de sync pour éviter d'endommager les systèmes de fichiers. En ligne de commande, on peut faire :

~# echo 1 >/proc/sys/kernel/sysrq 
~# echo s >/proc/sysrq-trigger
~# echo o >/proc/sysrq-trigger

C'est le moyen le plus rapide d'arrêter le système d'exploitation sur un ordinateur. enraciné appareil.

HARD REBOOT
Mais comment éteindre l'appareil si même le noyau ne répond plus ? Le matériel peut généralement s'en charger, c'est-à-dire si vous maintenez le bouton d'alimentation enfoncé pendant un intervalle de temps fixe. Il y a une certaine valeur codée en dur (généralement 10 secondes) dans l'unité de gestion de l'alimentation (PMIC). Aucun processus ne sera arrêté, aucun système de fichiers ne sera démonté, aucun message d'adieu ne sera transmis, seule l'alimentation du CPU, de la RAM et d'autres ressources matérielles pertinentes sera coupée. La plupart des SoC (qui ont un PMIC intégré) implémentent ceci comme un redémarrage, et non un arrêt.


Donc, pour résumer les lignes ci-dessus, il y a deux façons d'arrêter le dispositif : par le biais de init ou en appelant directement le noyau. Les deux peuvent être réalisés par de simples commandes shell ou peuvent être mappés à une touche matérielle ou une combinaison de touches spéciales. Mais l'eau peut rendre toute touche matérielle inutile, donc cette méthode ne peut pas être une solution universelle.


BOUTON D'ALIMENTATION
Mais le fait est que votre appareil n'est pas complètement éteint, quel que soit le chemin que vous avez choisi. Pendant le processus de démarrage, il y a des choses qui sont mises sous tension avant le chargement du système d'exploitation (et qui peuvent être mises sous tension même s'il n'y a pas de système d'exploitation sur le périphérique). Il doit y avoir un circuit dans le PMIC (par exemple un microcontrôleur en mode basse consommation et peut-être aussi une pile logicielle) qui est toujours sous tension afin qu'il puisse écouter votre demande de mise sous tension de l'appareil lorsque vous appuyez sur le bouton d'alimentation pendant quelques secondes, ou même lorsque vous connectez un chargeur à un appareil éteint.

PROCESSEUR DE COMMUNICATION
De même, le processeur de bande de base (BP) - qui fait fonctionner le modem et est responsable de toutes les communications via les réseaux mobiles (appels, SMS et Internet) - est totalement isolé du processeur d'application (celui que nous appelons CPU) et n'est pas régi par le noyau Android ; il exécute un RTOS indépendant. Et comme ils disent Les agences gouvernementales peuvent l'utiliser pour vous suivre à la trace même si vous pensez que votre appareil est éteint. Cela signifie donc qu'il peut éventuellement être (partiellement ou totalement ou périodiquement) en cours d'exécution lorsque Android ne fonctionne pas.


Si rien d'autre, au moins les bornes de la batterie sont toujours sous tension, connectées à une partie de la carte mère qui peut être court-circuitée si elle est mouillée. Donc, si votre appareil n'est pas résistant à l'eau et que la batterie n'a pas de protection contre les courts-circuits intégrée, vous ne pouvez jamais être sûr que votre appareil ne sera pas endommagé si de l'eau est versée dessus.

1voto

bogdan Points 101

Vous pouvez éteindre votre appareil en maintenant

Augmentation du volume + bouton d'alimentation

simultanément pendant plusieurs secondes.

0voto

ailaG Points 1

Si vous continuez à appuyer sur la touche d'alimentation, il s'éteindra sans confirmation. Cela prend encore quelques secondes mais ne nécessite pas l'écran tactile dans le cas que vous avez décrit.

p.s. Pour aller plus loin, je trouve que verrouiller mon écran et l'essuyer fonctionne souvent si un peu d'eau abîme l'écran tactile. Mais s'il est trempé, l'éteindre serait mieux pour l'électronique.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X