|
|
Zeile 35: |
Zeile 35: |
|
| |
|
| </noinclude> | | </noinclude> |
|
| |
| = TMP =
| |
| == 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
| |
|
| |
| == Spalten mit Awk oder 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}'
| |
|
| |
| == Option: 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
| |
|
| |
|
| [[Kategorie:Linux/Prozesse]] | | [[Kategorie:Linux/Prozesse]] |
ps (process status) - Staus von Prozesse anzeigen
Beschreibung
Installation
Syntax
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
Fehlerbehebung
Konfiguration
Dateien
Anhang
Siehe auch
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Links
Projekt
Weblinks
- https://wiki.ubuntuusers.de/ps/