ps

Aus Foxwiki

ps (process status) - Staus von Prozesse anzeigen

Beschreibung[Bearbeiten | Quelltext bearbeiten]

Installation[Bearbeiten | Quelltext bearbeiten]

siehe Procps

Syntax[Bearbeiten | Quelltext bearbeiten]

Optionen[Bearbeiten | Quelltext bearbeiten]

Parameter[Bearbeiten | Quelltext bearbeiten]

Umgebungsvariablen[Bearbeiten | Quelltext bearbeiten]

Exit-Status[Bearbeiten | Quelltext bearbeiten]

Anwendung[Bearbeiten | Quelltext bearbeiten]

Bestimmte PID ausgeben[Bearbeiten | Quelltext bearbeiten]

ps -ef | grep '[j]ava'

Oder wenn pgrep </ tt> verfügbar ist, ist Folgendes zu verwenden:

pgrep -f java

Man kann die Ausgabe an awk weiterleiten, um nur die PID zu drucken. Zum Beispiel:

ps -ef | grep nginx | awk '{print $2}'

Funktioniert, wenn man die Ausgabe als Variable verwendet a | tr -d '\ n' muss am Ende des Befehls hinzugefügt werden.

Frage wurde mit Redhat Linux getaggt. Zum Erkennen eines bestimmten Java-Prozesses unter OSX, RHEL Linux und AIX ist ps -A -o pid , args | grep \ [j] ava </ tt>. Dieser Befehl ignoriert den grep-Prozess und gibt einfach die PID zurück:

ps -ef | grep -v grep | grep java | awk '{print $2}'* Kürzer: ps -ef | grep '[j]ava' | awk '{print $2}'

Man benutzt dies, um die PID zu erhalten. Achtung: wenn man die Ausgabe als Variable a | verwendet, muss am Ende tr -d '\ n' </ tt> hinzugefügt werden.

pidof[Bearbeiten | Quelltext bearbeiten]

# pidof <process_name>

Es wird eine Liste von Pids zurückgegeben, die dem Prozessnamen entsprechen https://linux.die.net/man/8/pidof

  • funktioniert solange man nicht über mehrere Instanzen verfügt (z. B.  Java)
adb shell procrank | grep TYPE_YOUR_PROCESS_NAME_INSTEAD | awk '{print $1}'

ps Ausgabeformatierung[Bearbeiten | Quelltext bearbeiten]

ps -A -o pid

Die Ausgabeformatierung des Befehls ist die beste Option. Die Option -o steuert die Ausgabeformatierung. Unten sind einige Argumente aufgelistet, siehe 'man ps' für den Rest (um mehrere zu verwenden, wäre es -o pid, cmd, flags </ tt>).

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 und cut[Bearbeiten | Quelltext bearbeiten]

Im Allgemeinen möchte man keinen regulären Ausdruck für die Auswahl der ersten Spalte, sondern möchte ihn zum Ausschneiden leiten oder awk zum Ausschneiden der ersten Spalte wie folgt:

ps ax | awk '{print $1}'

Regular expression[Bearbeiten | Quelltext bearbeiten]

Wenn man Regular expression verwendet, könnte dies so aussehen

$ ps ax | perl -nle 'print $1 if /^ *([0-9]+)/'
  • $1 druckt nur das, was in der Klammer übereinstimmt
  • ^ verankert das am Zeilenanfang
  • Leerzeichen bedeutet, dass optionale Leerzeichen vor der Nummer zulässig sind
  • [0-9] + bedeutet eine oder mehrere Ziffern
Achtung
  • Der reguläre Ausdruck darf nicht mit den anfänglichen Leerzeichen vor kleinen Pids übereinstimmen
  • Außerdem sollte eine PID mindestens aus einer Ziffer bestehen, nicht aus Null (Achtung: + und nicht * verwenden)

Verwenden Sie den Schalter '-o' , um eine Ausgabe im Cust-Format zu erhalten

$ ps -o pid

Der schlechte Weg mit sed kann sein

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

-e :Alle Prozesse auswählen, -o :Format, pid = Prozess-ID% p sameas pid


Anhang[Bearbeiten | Quelltext bearbeiten]

Siehe auch[Bearbeiten | Quelltext bearbeiten]

Dokumentation[Bearbeiten | Quelltext bearbeiten]

Man-Pages[Bearbeiten | Quelltext bearbeiten]
Info-Pages[Bearbeiten | Quelltext bearbeiten]

Links[Bearbeiten | Quelltext bearbeiten]

Projekt[Bearbeiten | Quelltext bearbeiten]
Weblinks[Bearbeiten | Quelltext bearbeiten]
  1. https://wiki.ubuntuusers.de/ps/