Wie die Anzahl der Threads in einem Prozess auf Linux Count

A+ A-

In diesem Artikel werden wir wissen, wie die Anzahl der Threads in einem Prozess auf Linux-Umgebung zu zählen, gibt es mehrere Möglichkeiten, es zu tun, aber wir werden mit "/ proc" und "ps" -Befehl zu lernen.

Mit '/ proc'

In Proc Pseudo-Dateisystem befindet sich dieses in / proc-Verzeichnis, und das ist der einfachste Weg, um die Fadenzahl der Aufgabe oder aktiven Prozess zu sehen. Die 'proc' Verzeichnis exportiert die Form von lesbaren Textdateien, die Informationen an die bestehenden Prozesse und die Systemhardware wie Interrupts, CPU, Speicher, Festplatten etc. im Zusammenhang zu geben,

 # Cat / proc / <pid> / status 

Der obige Befehl die allgemeine Syntax ist, und dies wird zeigen detaillierte Informationen über den Prozess mit <pid> umfasst dieser Prozess Zustand (übergeordnete PID, UID, GID, Schlafen und Status läuft, wird die Anzahl der Dateien verwendet, und nicht des Wettbewerbs). Es gibt auch die gesamte Anzahl der Threads und den Prozess.

Zum Beispiel wollen wir den Prozess Zählung einer Prozess-ID 2907 zu kennen, die die Prozess-ID von Apache auf meinem Linux-Umgebung ist, dann können wir mit diesem unter Befehl zu sehen.

 # Cat / proc / 2907 / status
Name: php-fpm
Zustand: S (Schlafen)
TGID: 2907
Pid: 2907
Ppid: 2124
TracerPid: 0
Uid: 48 48 48 48
Gid: 48 48 48 48
Utrace: 0
FDSize: 64
Gruppen: 48
VmPeak: 445.536 kB
VmSize: 382.172 kB
VmLck: 0 kB
VmHWM: 84.688 kB
VmRSS: 21856 kB
Vmdata: 17376 kB
VmStk: 88 kB
VmExe: 3396 kB
VmLib: 49280 kB
VmPTE: 548 kB
VmSwap: 0 kB
Themen: 1
SigQ: 0/15205
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 0000000184000004
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: FFFFFFFFFFFFFFFF
Cpus_allowed: 1
Cpus_allowed_list: 0
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 11419
nonvoluntary_ctxt_switches: 25334 

In diesem obigen Beispiel können wir die Themen sehen: 1, bedeutet, dass der Apache-Prozess ist nur ein Thread verwendet wird.

Wir können diesen Befehl auch verwenden, um die Zählung der Anzahl der Verzeichnisse im Prozess gefunden zu finden, für die wir die folgenden Befehl verwenden können -

 # / Proc / <pid> / Task | Toilette 

Dies zeigt, dass in jedem Thread, der in dem Prozess erstellt, gibt es eine entsprechende Verzeichnis ist, wird in / proc / <pid> / Task erstellt werden, mit seiner ID benannt.

Zum Beispiel, führen Sie den folgenden Befehl

 # Ls / proc / 2907 / Status | Toilette
      1 1 18

Mit "PS"

Die "ps" -Befehl wird durch Hinzufügen der 'H' Option an den Befehl, die drucken können die Fadenzahl für den Prozess den laufenden Prozess des Systems anzuzeigen. Die 'h' Option werden die Header am Anfang der Ausgabe verbergen.

 # Ps hH p 14487 | wc -l
1 

In diesem obigen Beispiel haben wir die Themen zu sehen: 1, bedeutet das "Apache" Prozess verwendet nur ein Thread

Von diesem Artikel können wir nun in der Lage, die Anzahl der Prozessanzahl für die Prozess-ID oder dem Verfahren verwendet, um herauszufinden, können wir jede Methode verwenden, um die Anzahl der Prozesse, um herauszufinden, auf dem Linux-Umgebung ausgeführt werden.