Zum Inhalt springen

Ps: Unterschied zwischen den Versionen

Aus Foxwiki
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:


== Installation ==
== Installation ==
[[ps]] ist Teil des Pakets [[procps]]
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
< /syntaxhighlight>
</syntaxhighlight>


== Aufruf ==
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line copy>
<syntaxhighlight lang="bash" highlight="1" line copy>
< /syntaxhighlight>
</syntaxhighlight>


=== Optionen ===
=== Optionen ===
Zeile 32: Zeile 34:
|}
|}


== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line copy>
< /syntaxhighlight>
=== Problembehebung ===
== Konfiguration ==
=== Dateien ===
{| class="wikitable options big"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}
<noinclude>
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
=== Dokumentation ===
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
<!--
; Info-Pages
-->
=== Links ===
==== Projekt ====
==== Weblinks ====
[[Kategorie:Linux/Prozess/Befehl]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Procps]]
{{DEFAULTSORT:ps}}
{{DISPLAYTITLE:ps}}
</noinclude>
= TMP =
== Installation ==
siehe [[Procps]]
== Aufruf ==
=== Optionen ===
=== Argumente ===
=== Umgebung ===
=== Rückgabewert ===
== Anwendung ==
== Anwendung ==
=== Bestimmte PID ausgeben ===
=== Bestimmte PID ausgeben ===
Zeile 94: Zeile 39:


[[File:psExamples.jpg|mini|400px]]
[[File:psExamples.jpg|mini|400px]]
 
<syntaxhighlight lang="bash" highlight="1" line copy>
ps -ef | grep '[j]ava'
ps -ef | grep '[j]ava'
</syntaxhighlight>


Oder wenn <tt> pgrep </ tt> verfügbar ist, ist Folgendes zu verwenden:
Oder wenn <tt> pgrep </ tt> verfügbar ist, ist Folgendes zu verwenden:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
pgrep -f java
pgrep -f java
</syntaxhighlight>


Man kann die Ausgabe an awk weiterleiten, um nur die PID zu drucken. Zum Beispiel:
Man kann die Ausgabe an awk weiterleiten, um nur die PID zu drucken. Zum Beispiel:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
ps -ef | grep nginx | awk '{print $2}'
ps -ef | grep nginx | awk '{print $2}'
</syntaxhighlight>
   
   
Funktioniert, wenn man die Ausgabe als Variable verwendet a | tr -d '\ n' muss am Ende des Befehls hinzugefügt werden.
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:
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:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
ps -ef | grep -v grep | grep java | awk '{print $2}'* Kürzer: ps -ef | grep '[j]ava' | awk '{print $2}'
ps -ef | grep -v grep | grep java | awk '{print $2}'* Kürzer: ps -ef | grep '[j]ava' | awk '{print $2}'
</syntaxhighlight>
   
   
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.
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 ===
# pidof <process_name>
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo pidof <process_name>
</syntaxhighlight>


Es wird eine Liste von Pids zurückgegeben, die dem Prozessnamen entsprechen
Es wird eine Liste von Pids zurückgegeben, die dem Prozessnamen entsprechen
Zeile 123: Zeile 74:
=== Ausgabe ===
=== Ausgabe ===
Ausgabeformatierung
Ausgabeformatierung
ps -A -o pid
<syntaxhighlight lang="bash" highlight="1" line copy>
ps -A -o pid
</syntaxhighlight>


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'').
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'').
Zeile 141: Zeile 94:
=== [[awk]] und  [[cut]] ===
=== [[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:
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:
 
<syntaxhighlight lang="bash" highlight="1" line copy>
ps ax | awk '{print $1}'
ps ax | awk '{print $1}'
</syntaxhighlight>


=== Regular expression ===
=== Regular expression ===
Wenn man [[Regular expression]] verwendet, könnte dies so aussehen
Wenn man [[Regular expression]] verwendet, könnte dies so aussehen
$ ps ax | perl -nle 'print $1 if /^ *([0-9]+)/'
<syntaxhighlight lang="bash" highlight="1" line copy>
ps ax | perl -nle 'print $1 if /^ *([0-9]+)/'
</syntaxhighlight>
* $1 druckt nur das, was in der Klammer übereinstimmt
* $1 druckt nur das, was in der Klammer übereinstimmt
* ^ verankert das am Zeilenanfang
* ^ verankert das am Zeilenanfang
Zeile 157: Zeile 113:
   
   
Verwenden Sie den Schalter '' '-o' '', um eine Ausgabe im Cust-Format zu erhalten
Verwenden Sie den Schalter '' '-o' '', um eine Ausgabe im Cust-Format zu erhalten
$ ps -o pid
<syntaxhighlight lang="bash" highlight="1" line copy>
ps -o pid
</syntaxhighlight>


Der schlechte Weg mit sed kann sein
Der schlechte Weg mit sed kann sein
$ ps -ax | sed 's#^\( *[0-9]\+\) .*$#\1#'
<syntaxhighlight lang="bash" highlight="1" line copy>
ps -ax | sed 's#^\( *[0-9]\+\) .*$#\1#'
</syntaxhighlight>


''ps -eo pid''' oder '''ps -eo %p''
<syntaxhighlight lang="bash" highlight="1" line copy>
''ps -eo pid''' oder '''ps -eo %p''
</syntaxhighlight>


-e :Alle Prozesse auswählen, -o :Format, pid = Prozess-ID% p sameas pid
-e :Alle Prozesse auswählen, -o :Format, pid = Prozess-ID% p sameas pid
== Konfiguration ==
=== Dateien ===
{| class="wikitable options big"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}


<noinclude>
<noinclude>
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
=== Dokumentation ===
; Man-Page
# [https://manpages.debian.org/stable/procps/ps.1.de.html ps(1)]
=== Links ===
==== Projekt ====
==== Weblinks ====
[[Kategorie:Linux/Prozess/Befehl]]
[[Kategorie:Linux/Befehl]]
[[Kategorie:Procps]]
{{DEFAULTSORT:ps}}
{{DISPLAYTITLE:ps}}
</noinclude>

Aktuelle Version vom 22. September 2025, 16:07 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

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

sudo 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 (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

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Man-Page
  1. ps(1)

Links

Projekt

Weblinks