*GELÖST* prozess check einzeiler gesucht

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ren22

*GELÖST* prozess check einzeiler gesucht

Beitrag von ren22 » 03.03.2014 21:19:09

hallo
suche eine möglichkeit einen einzeiler hinzubekommen der prüft ob der prozess schon läuft wenn nicht soll der prozess gestartet werden aber im hinterrund.

bloss leider klappt das nicht so wie ich es mir gedacht habe:

Code: Alles auswählen

/bin/sh -c 'if ps aux | grep -q "[u]rlsnarf" ; then echo "true"; else /opt/urlsnarf > /tmp/urlsnarf.log & ;fi'
Syntax error: ";" unexpected

bei der variante mit 2>&1

Code: Alles auswählen

/bin/sh -c 'if ps aux | grep -q "[u]rlsnarf" ; then echo "true"; else /usr/pbi/dsniff-i386/sbin/urlsnarf > /tmp/urlsnarf.log 2>&1 ;fi;'
erhalte ich "true" obwohl der Prozess nicht läuft

grüsse
ren22
Zuletzt geändert von ren22 am 03.03.2014 22:00:39, insgesamt 1-mal geändert.

ren22

Re: prozess check einzeiler gesucht

Beitrag von ren22 » 03.03.2014 22:00:08

so sollte es gehen , doppeltes grep

Code: Alles auswählen

/bin/sh -c 'if ps aux | grep "urlsnarf" | grep -v grep ; then echo "true"; else /opt/urlsnarf > /tmp/urlsnarf.log & fi;'

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: *GELÖST* prozess check einzeiler gesucht

Beitrag von Cae » 04.03.2014 13:51:42

Man moege jeden steinigen, der "ps | grep" verwendet... es gibt wortwoertlich seit Jahrzehnten [1] das Programm pgrep. Verwendung in deinem Fall:

Code: Alles auswählen

sh -c 'pgrep urlsnarf || /opt/urlsnarf >/tmp/urlsnarf.log &'
Da kann und sollte man jegliches rumgegreppe in die Tonne treten.

Gruss Cae

[1] https://en.wikipedia.org/wiki/Pgrep "initially written for use with the Solaris 7 operating system", welches 1998 released wurde [2]
[2] https://en.wikipedia.org/wiki/Solaris_O ... on_history
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Antworten