ps-Trick bei grep eingefgt

This commit is contained in:
rschaten 2002-04-10 09:50:30 +00:00
parent a7f9f8ccdd
commit bd36939a90

View File

@ -219,6 +219,28 @@ Die folgende Tabelle stellt einige der vielen Parameter vor:
\LTXtable{\textwidth}{tab_kommandos_grep_parameter.tex}
Im Zusammenhang mit grep stößt fast jeder Shell-Skripter früher oder später auf
das Problem, daß er irgendwas davon abhängig machen will, ob ein bestimmter
Prozeß läuft oder nicht. Im Normalfall wird er zuerst folgendes ausprobieren,
was aber oft (nicht immer) in die Hose gehen wird:
\texttt{ps aux | grep }\textit{prozessname}\texttt{ \&\& echo \dq}\textit{läuft
schon}\texttt{\dq}
Der Grund dafür ist, daß unter Umständen in der Ausgabe von \texttt{ps} auch
das \texttt{grep}-Kommando samt Parameter (\textit{prozessname}) aufgelistet
wird. So findet das \texttt{grep}-Kommando sich quasi selbst.
Abhilfe schafft das folgende Konstrukt:
\texttt{ps aux | grep \dq}\textit{[p]rozessname}\texttt{\dq~\&\& echo
\dq}\textit{läuft schon}\texttt{\dq}
Das p ist jetzt als eine Zeichenmenge (regulärer Ausdruck) angegeben worden.
Jetzt sucht \texttt{grep} also nach dem String \textit{prozessname}, in der
Ausgabe von \texttt{ps} erscheint das \texttt{grep}-Kommando allerdings mit
\textit{[p]rozessname} und wird somit ignoriert.
\index{grep=\texttt{grep}|)}