Ps: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(50 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{DISPLAYTITLE:ps}} | |||
'''ps''' (process status) - Staus von Prozesse anzeigen | |||
== Beschreibung == | |||
== Installation == | |||
siehe [[Procps]] | |||
[[ | == Syntax == | ||
[[ | === Optionen === | ||
[[ | === Parameter === | ||
[[ | === Umgebungsvariablen === | ||
=== Exit-Status === | |||
== Anwendung == | |||
=== Bestimmte PID ausgeben === | |||
[[File:2024-01-21_13-00-00_UTC.jpg|mini]] | |||
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. B. Java) | |||
adb shell procrank | grep TYPE_YOUR_PROCESS_NAME_INSTEAD | awk '{print $1}' | |||
=== ps 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 <tt> -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]] === | |||
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-Pages ===== | |||
===== Info-Pages ===== | |||
==== Links ==== | |||
===== Projekt ===== | |||
===== Weblinks ===== | |||
# https://wiki.ubuntuusers.de/ps/ | |||
[[Kategorie:Linux/Prozesse]] | |||
[[Kategorie:Linux/Befehl]] | |||
{{DEFAULTSORT:ps}} | |||
</noinclude> |
Aktuelle Version vom 17. Februar 2024, 11:53 Uhr
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]
![](/images/thumb/e/e5/2024-01-21_13-00-00_UTC.jpg/300px-2024-01-21_13-00-00_UTC.jpg)
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]