Script wird mit ps nicht gefunden

Mr. Brooks

Lt. Commander
Registriert
Aug. 2011
Beiträge
1.441
Hallo,

ich starte hier ein kleines Script, wenn ich ganz allgemein mit

Code:
ps aux

danach suche, wird der Prozess auch angezeigt mit

Code:
lxterminal -e /home/mrbrooks/scripte

Suche ich aber mit 'ps aux | grep' oder 'ps -fC' danach, wird es nicht gefunden, egal ob ich den kompletten Namen (siehe oben) eingeben oder Wildcards verwende. Im Grunde müsste doch

Code:
ps aux | grep *brooks*

oder

Code:
ps -fC *brooks*

den Prozess finden. Wird er aber nicht.

Auch kann ich den nicht mit

Code:
pkill "lxterminal -e /home/mrbrooks/scripte"

beenden.
 
Dann zeig doch mal, wie du das Script startest
. Gibt es dir etwas aus? Was tut das skript m
 
Du darfst bei grep keine Sterne verwenden, denn die sucht er auch, findet sie aber nicht. Such nur mit: "grep brook".
Beim pkill ist es das gleiche, der Prozess heißt nur "lxterminal", das danach sind lediglich die Aufrufparameter.
 
  • Gefällt mir
Reaktionen: aki
Ergänzend zu @d2boxSteve ist noch die manpage von grep zu nennen (man grep). Mit dem Parameter -e lassen sich bspw. RegEx verwenden.
 
ps | grep kann durch pgrep ersetzt werden.

Bei grep *foo* sucht die Shell (!) im aktuellen Verzeichnis nach Dateien auf die *foo* passt und ersetzt das Pattern *foo* durch eine Liste der Dateien (Pathname Expansion). Wenn du tatsächlich *foo* als Parameter an grep übergeben willst musst du es grep "*foo*" schreiben. Das Pattern dass du suchst heißt außerdem ".*foo.*".

Bash hat die grauenhafte Angewohnheit bei gescheiterter Pathname Expansion das Pattern ohne Fehlermeldung durchzureichen. Ich empfehle immer "shopt -s failglob" einzuschalten, dann kommt sowas nicht vor.
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: R00kie
Zurück
Oben