Die Anzahl der Prozesse, die ein Benutzer mit Hilfe des bash
Ich würde gerne wissen, wie ich bekommen konnte, die Anzahl der Prozesse für jeden Benutzer, der derzeit angemeldet ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde gerne wissen, wie ich bekommen konnte, die Anzahl der Prozesse für jeden Benutzer, der derzeit angemeldet ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Geben diesem einen Versuch:
Um ordnungsgemäß zu behandeln Benutzernamen, die länger als acht Zeichen verwenden
users
stattw
. Den letztere schneidet Benutzernamen.w -h
schneidet Benutzer-Namen auf 8 Zeichen, es werden auch nur die Listen der angemeldeten Benutzer, so dass Sie nicht bekommen, einen Blick auf alle Benutzer, nur die Anmeldung der Benutzer.w
- können Sie einfachps
(die gemacht werden können, zeigen die langen Benutzernamen in Vollzugriff). Dieusers
Befehl zeigt die eingeloggten Benutzer und scheint nicht zu kürzen, die Namen. Meine Antwort angepasst werden könnte, um es zu verwenden. Ich werde aktualisieren, meine Antwort.Könnten Sie versuchen, einige Variationen dieser:
Es gibt Sie die Anzahl der Prozesse pro Benutzer (angemeldet oder nicht). Jetzt könnte man filter diese Ergebnisse mit der Ausgabe der w-Befehl oder eine andere Möglichkeit zu ermitteln, wer angemeldet ist.
grep ' pts\| tty'
vor dem schneiden, abschneiden würde aus jedem Prozess ist nicht gebunden an ein terminal.zeigt die Anzahl von Verfahren, die Benutzer aboelnour läuft es
wc -l
funktioniert genauso gut wie Sie, dass awk-Befehl.Wenn Sie jemals besorgt über die kurz vor dem user-Prozess-Grenze gezeigt, indem
ulimit -a
, die Sie wollen, um ALLE Prozesse (einschließlich LWPs). In solch einem Fall sollten Sie verwenden:Auf einem system zu tun:
ergibt:
wo man ersteres tut, ergibt den wahren Prozess count:
Wenn Sie wollen einfach nur eine Zählung der Prozesse, die Sie verwenden können, procfs direkt so:
(erfordert linux 2.2 oder höher)
können Sie wc:
oder tun Sie es in reiner bash (keine externen Befehle) wie das
Wenn Sie nur wollen, dass die aktuelle userid
Folgenden links enthalten nützliche ps-Befehle Optionen einschließlich Ihrer Anforderungen:
Hier ist meine Lösung, für Linux:
$ find /proc –user $user -maxdepth 1 -name '[0-9]*' | wc –l
Diese Lösung nicht scheitern, wenn die Zahl der Prozesse größer ist als die Kommandozeile beschränken.