Zum Inhalt springen

Ps: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 84: Zeile 84:
=== Umgebung ===
=== Umgebung ===
=== Rückgabewert ===
=== Rückgabewert ===
== Anwendung ==
=== Bestimmte PID ausgeben ===
[[File:2024-01-21_13-00-00_UTC.jpg|mini]]
[[File:psExamples.jpg|mini|400px]]
ps -ef | grep '[j]ava'
Oder wenn <tt> 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 <tt> 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 <tt> | verwendet, muss am Ende tr -d '\ n' </ tt>  hinzugefügt werden.
=== pidof ===
# pidof <process_name>
Es wird eine Liste von Pids zurückgegeben, die dem Prozessnamen entsprechen
[https://linux.die.net/man/8/pidof https://linux.die.net/man/8/pidof]
* funktioniert solange man nicht über mehrere Instanzen verfügt (beispielsweise  Java)
adb shell procrank | grep TYPE_YOUR_PROCESS_NAME_INSTEAD | awk '{print $1}'
=== Ausgabe ===
Ausgabeformatierung
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'').
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]] ===
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 ===
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
<noinclude>

Version vom 22. September 2025, 16:03 Uhr

ps - (process status) - Staus von Prozesse anzeigen

Beschreibung

Installation

ps ist Teil des Pakets procps

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Man-Page
  1. ps(1)

Links

Projekt

Weblinks




TMP

Aufruf

Optionen

Argumente

Umgebung

Rückgabewert