Lösung 1:
ps -ef | egrep "GMC|PID"
Ersetzen Sie „GMC“ und ps
Schalter nach Bedarf.
Beispielausgabe:
[email protected]:~$ ps -ef | egrep "disk|PID"
UID PID PPID C STIME TTY TIME CMD
paremh1 12501 12466 0 18:31 pts/1 00:00:00 egrep disk|PID
root 14936 1 0 Apr26 ? 00:02:11 /usr/lib/udisks/udisks-daemon
root 14937 14936 0 Apr26 ? 00:00:03 udisks-daemon: not polling any devices
Lösung 2:
Dank geekosaur möchte ich diesen Befehl für Ihre Anforderungen verwenden, anstatt einen separaten Befehl:
ps -ef | head -1; ps -ef | grep "your-pattern-goes-here"
Das Schwierige ist, das ";" zu verwenden. von der Shell unterstützt, um den Befehl zu verketten.
Lösung 3:
Die zweite Spalte ist die Prozess-ID; 4. ist der Zeitpunkt, an dem der Prozess erstellt wurde (dies ist normalerweise die Zeit, zu der Ihr Programm gestartet wurde, aber nicht immer; betrachten Sie execve()
und Freunde); 6. ist die verbrauchte CPU-Zeit. Es läuft also seit 8 Tagen und verbraucht fast 7 Tage CPU-Zeit, was ich als besorgniserregend erachte.
Den Header in denselben Aufruf zu bekommen, ist bestenfalls schwierig; Ich würde einfach ein separates ps | head -1
machen . Sie könnten die Verwendung von ps
in Betracht ziehen eigene Auswahlmethoden oder so etwas wie pgrep
statt grep
, das nicht wirklich dafür ausgelegt ist, Header durchzulassen.
Lösung 4:
Die egrep-Lösung ist einfach und nützlich, aber Sie sind natürlich darauf angewiesen, dass der Header immer 'PID' enthält (eine mehr als vernünftige Annahme) und der gleiche String nicht anderswo vorkommt. Ich schätze, das reicht für Ihre Bedürfnisse, aber falls jemand eine Alternative möchte, gibt es sed.
Mit Sed können Sie einfach sagen:"Drucke die erste Zeile, dann jede Zeile, die das Muster enthält". Zum Beispiel:
ps auxwww | sed -n '1p; /PROCESS_NAME_TO_SEARCH/p;'
Fügen Sie /sed -n/d;
hinzu um sed selbst herauszufiltern:
ps auxwww | sed -n '1p; /sed -n/d; /PROCESS_NAME_TO_SEARCH/p;'
Lösung 5:
einfachere Alternative:ps -ef | { head -1; grep GMC; }
Ersetzen Sie die Zahl durch die Anzahl der Zeilen, auf denen Ihre Kopfzeile angezeigt wird.