GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie bekomme ich nur alle laufenden Prozess-IDs?

PS-Ausgabeformatierung verwenden:

ps -A -o pid

Die Ausgabeformatierung des Befehls ist die beste Option. Die Option o steuert die Ausgabeformatierung. Ich habe unten einige der Argumente aufgelistet, siehe 'man ps' für den Rest (um mehrere zu verwenden, wäre es -o pid,cmd,flags ).

KEY   LONG         DESCRIPTION
   c     cmd          simple name of executable
   C     pcpu         cpu utilization
   f     flags        flags as in long format F field
   g     pgrp         process group ID
   G     tpgid        controlling tty process group ID
   j     cutime       cumulative user time
   J     cstime       cumulative system time
   k     utime        user time
   o     session      session ID
   p     pid          process ID

Awk oder Cut wäre besser, um Spalten zu bekommen:
Im Allgemeinen möchten Sie keinen Regex zum Auswählen der ersten Spalte, Sie möchten ihn an cut oder awk weiterleiten, um die erste Spalte auszuschneiden, wie:

ps ax | awk '{print $1}'

Regex ist eine Option, wenn nicht die beste:
Wenn Sie Regex verwenden würden, könnte es so aussehen:

ps ax | perl -nle 'print $1 if /^ *([0-9]+)/'

$1 gibt nur das aus, was in der Klammer gefunden wurde. ^ verankert das am Anfang der Zeile. Leerzeichen Stern bedeutet, dass optionale Leerzeichen vor der Nummer zulässig sind. [0-9]+ bedeutet eine oder mehrere Ziffern. Aber ich würde Regex für diese spezielle Aufgabe nicht empfehlen, sehen Sie warum? :-)


ps ax | awk '{ print $1; }'

Verwenden Sie das -o wechseln, um eine Ausgabe im benutzerdefinierten Format zu haben

ps -o pid

Der schlechte Weg, sed zu verwenden, wie Sie ausdrücklich gefragt haben, kann sein

ps -ax | sed 's#^\( *[0-9]\+\) .*$#\1#'

Linux
  1. Linux – Wie erhalte ich die Uhrzeit eines laufenden Prozesses?

  2. Wie kann man einen laufenden Prozess unter Linux neu starten (oder zurücksetzen)?

  3. So leiten Sie die Ausgabe eines bereits laufenden Prozesses um

  4. Wie bekomme ich die Prozess-ID des Hintergrundprozesses?

  5. Wie bekomme ich die Prozess-ID, um einen Nohup-Prozess zu beenden?

So listen Sie laufende Prozesse in Linux auf

So beenden Sie den laufenden Linux-Prozess auf einem bestimmten Port

Wie bekomme ich nur die Prozess-ID unter Angabe des Prozessnamens in Linux?

tcpdump:Wie bekomme ich eine grepable Ausgabe?

Wie bekomme ich alle Prozesse auf jedem CPU-Kern in Ubuntu zum Laufen?

Wie erhalte ich nur die PID ohne zusätzliche Informationen eines Prozesses, der auf Port 3000 läuft?