Die Anzahl der Prozesse, die ein Benutzer mit bash ausführt

8

Ich würde gerne wissen, wie ich die Anzahl der Prozesse für jeden Benutzer, der gerade angemeldet ist, bekommen konnte.

    
Vidi 06.10.2010, 16:19
quelle

8 Antworten

6

Probieren Sie es aus:

%Vor%

Um Benutzernamen richtig zu behandeln, die länger als acht Zeichen sein können, verwenden Sie users anstelle von w . Letzteres schneidet Benutzernamen ab.

%Vor%     
Dennis Williamson 06.10.2010, 18:13
quelle
12

Sie könnten eine Variation davon ausprobieren:

%Vor%

Er gibt Ihnen die Anzahl der Prozesse für jeden Benutzer (eingeloggt oder nicht). Jetzt könnten Sie diese Ergebnisse mithilfe der Ausgabe des Befehls w oder einer anderen Methode zur Bestimmung der angemeldeten Person filtern.

    
Helmut Grohne 06.10.2010 16:28
quelle
2
%Vor%

zeigt die Nummer des Prozesses an, auf dem der Benutzer ihn ausführt

    
Aboelnour 06.10.2010 16:30
quelle
1

Wenn Sie nur eine Anzahl von Prozessen haben möchten, können Sie procfs direkt wie folgt verwenden: (benötigt Linux 2.2 oder höher)

Sie können wc verwenden:

%Vor%

oder mache es in reiner bash (keine externen Befehle) wie folgt

%Vor%

Wenn Sie nur die aktuelle Benutzer-ID

möchten %Vor%     
user340140 08.08.2012 02:06
quelle
1

Wenn Sie jemals daran interessiert sind, sich der Grenze des Benutzerprozesses zu nähern, die von ulimit -a angezeigt wird, möchten Sie ALLE Prozesse (einschließlich LWPs) erhalten. In diesem Fall sollten Sie Folgendes verwenden:

%Vor%

Auf einem System:

%Vor%

ergibt:

%Vor%

wobei die erste die wahre Prozessanzahl ergibt:

%Vor%     
JoeG 09.11.2016 16:22
quelle
0
%Vor%     
ghostdog74 06.10.2010 16:33
quelle
0
0

Hier ist meine Lösung für Linux:

$ find / proc -user $ USER -maxdepth 1 -name '[0-9] *' | wc -l

Diese Lösung wird nicht fehlschlagen, wenn die Anzahl der Prozesse größer als die Befehlszeilengrenze ist.

    
Rick 28.09.2016 12:38
quelle

Tags und Links