Technologieaustausch

Welche Bedeutung haben die von adb shell ps -T gedruckten Parameter und welche Bedeutung haben die durch D, T und Z dargestellten Zustände?

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Im Android-System verwenden Sieadb shell ps Der Befehl kann Informationen zu Prozessen anzeigen, die im aktuellen System ausgeführt werden.wenn Sie hinzufügen-TOption (beachten Sie, dass der StandardpsBefehle in Androidadb shellwird möglicherweise nicht direkt unterstützt-TOption, die normalerweise die gleiche ist wie unter LinuxpsDer Befehl ist etwas anders. Möglicherweise möchten Sie detailliertere Thread-Informationen sehen, aber den Standardadb shell psDer Befehl unterstützt nicht direkt-T um Threads aufzulisten.Wir können jedoch darüber diskutierenpsDie allgemeine Bedeutung der Befehlsausgabe und die Bedeutung des Prozessstatus (z. B. D, T, Z).

adb shell psAllgemeine Bedeutung der Ausgabe

auf Androidadb shellMitte,psDer Befehl liefert normalerweise nicht-T Option zum direkten Auflisten von Threads. Es können jedoch Informationen zum Prozess aufgeführt werden, darunter:

  • Benutzerkennung: Benutzer-ID, die den Benutzer angibt, der den Prozess ausführt.
  • PID: Die Prozess-ID ist die eindeutige Kennung des Prozesses.
  • PPID: ID des übergeordneten Prozesses. Dies ist die ID des Prozesses, der den Prozess erstellt hat.
  • VSZ: Größe des virtuellen Speichers, die die Menge des vom Prozess belegten virtuellen Speichers angibt.
  • RSS: Größe des residenten Satzes, die die Menge des physischen Speichers angibt, der derzeit vom Prozess belegt ist.
  • NAME: Prozessname oder Befehlszeile.

Die Bedeutung des Prozessstatus (D, T, Z)

Unter Linux (einschließlich des zugrunde liegenden Android)psDie Ausgabe des Befehls enthält normalerweise den Status des Prozesses. Diese Statuscodes können D, T, Z usw. umfassen, die verschiedene Prozesszustände darstellen:

  • D (ununterbrochener Schlafzustand) : Der Prozess befindet sich in einem ununterbrochenen Ruhezustand, normalerweise weil er auf den Abschluss eines E/A-Vorgangs (z. B. Festplattenschreibvorgang) wartet. In diesem Zustand reagiert der Prozess nicht, selbst wenn ein Signal an ihn gesendet wird.

  • T (Stoppzustand): Der Prozess wurde gestoppt (normalerweise überstop Signal) kann es weder ausgeführt noch beendet werden. Es kann jedoch über Signale fortgesetzt oder beendet werden.

  • Z (Zombiestaat): Dies ist ein Prozess, der beendet wurde, dessen übergeordneter Prozess jedoch noch nicht bestanden wurdewait()oderwaitpid() Systemaufruf zum Lesen seines Endstatus. Der Zombie-Prozess hat die meisten seiner Ressourcen freigegeben, behält aber weiterhin Einträge in der Prozesstabelle bei, sodass der übergeordnete Prozess seinen Status abfragen kann.

Bitte beachten Sie das auf Androidadb shell psDiese Statuszeichen erscheinen möglicherweise nicht direkt in der Befehlsausgabe (insbesondere, wenn die Ausgabe nicht speziell konfiguriert oder formatiert ist), da sie möglicherweise die Verwendung zusätzlicher Zeichen erfordernpsOptionen (z.B-eo state unter Linux) zur Anzeige.Allerdings AndroidpsDie verfügbaren Optionen und das Ausgabeformat des Befehls können mit denen von Standard-Linux identisch sein