![](https://seccdn.libravatar.org/avatar/7dcd6443713cd06cfa54e9a71f94d07b.jpg?s=120&d=mm&r=g)
Hi, David Haller schrieb:
Teste mal folgendes (aus den verschiedenen Loesungen): [...] Das grep sollte nach dem 'jar' erfolgen, da sonst jeder java Prozess
ich mache das jetzt, als Quintessenz der verschiedenen Antworten, so: | #!/bin/bash | | if ps -ef|grep [p]rog.jar &>/dev/null; then | echo "Proxy laeuft bereits." | else | /usr/lib/java/jre/bin/java -cp prog.jar & | echo "Proxy gestartet." | fi Mal sehen, ob das über mehrere Tage hinweg funktioniert, ohne mein altes Problem zu erzeugen.
gefunden wird -- aus diesem Grund geht uebrigens startproc/killproc nur, wenn man ein explizites pidfile angibt:
==== ungetestet! ==== PIDFILE="/var/run/prog.pid" [..] startproc -f "$PIDFILE" /usr/lib/java/jre/bin/java -cp prog.jar [..] killproc -f "$PIDFILE" -TERM /usr/lib/java/jre/bin/java ====
Das habe ich auch getestet, bekomme es aber irgendwie nicht hin, dass die PID des Java-Prozesses in dem PID-File zu liegen kommt. Wie kann ich startproc oder auch Java dazu überreden, die PID dort abzulegen, wo ich das gern hätte? mfg, Hannes