Ps: Unterschied zwischen den Versionen

Aus Foxwiki
TuanDoan1 (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“
 
(59 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
processes liefert eine Momentaufnahme der laufenden Prozesse. Wenn eine ständige Aktualisierung der Prozessliste gewünscht ist, so ist top zu verwenden. Mit pgrep lassen sich Prozesse gezielt über den Namen oder eines regulären Ausdrucks suchen und mit pstree kann man alle laufenden Prozesse in Baumform anzeigen.
{{DISPLAYTITLE:ps}}
'''ps''' (process status) - Staus von Prozesse anzeigen


== Beschreibung ==
== Installation ==
siehe [[Procps]]


[[Category:Linuxbefehle]]
== Aufruf ==
[[Category:Linux]]
=== Optionen ===
[[Category:Linux:LPIC:101]]
=== Parameter ===
[[category:Prozessmanagement]]
=== Umgebung ===
=== 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 (z.&nbsp;B.&nbsp; 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>
 
== Anhang ==
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Dokumentation ====
===== Man-Page =====
===== Info-Pages =====
==== Links ====
===== Projekt =====
===== Weblinks =====
# https://wiki.ubuntuusers.de/ps/
 
[[Kategorie:Linux/Prozesse]]
[[Kategorie:Linux/Befehl]]
 
{{DEFAULTSORT:ps}}
</noinclude>

Aktuelle Version vom 12. November 2024, 18:47 Uhr

ps (process status) - Staus von Prozesse anzeigen

Beschreibung

Installation

siehe Procps

Aufruf

Optionen

Parameter

Umgebung

Rückgabewert

Anwendung

Bestimmte PID ausgeben

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

# 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}'

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


Anhang

Siehe auch

Dokumentation

Man-Page
Info-Pages

Links

Projekt
Weblinks
  1. https://wiki.ubuntuusers.de/ps/