- Mitglied seit
- 08. Mrz 2011
- Beiträge
- 264
- Punkte für Reaktionen
- 14
- Punkte
- 24
Guten Abend Community,
ich habe da ein kleines Problem mit meinem Startscript für den ddclient.
Hier erstmal das Script:
Das Problem ist nun, das Script denkt das der Prozess immer läuft, egal ob er läuft oder nicht.
Deshalb habe ich zu Testzwecken den punkt debug im Script eigefügt und siehe da das problem ensteht nur wenn das script den Befehl `ps aux | grep -v grep | grep ddclient` ausführt.
Wenn das script den Befehl `ps aux | grep -v grep | grep ddclient` ausführt bekomme ich:
Wenn ich den Befehl `ps aux | grep -v grep | grep ddclient` allerdings über die console eingebe bekomme ich genau das was ich haben will:
Wiso ich jetzt unterschiedliche ausgaben bekomme, kann ich nicht nachvollziehen.
Ich hoffe ihr könnt mir da weiterhelfen.
mfg
ich habe da ein kleines Problem mit meinem Startscript für den ddclient.
Hier erstmal das Script:
Rich (BBCode):
#!/opt/bin/bash
#
# init.d/ddclient
#
### BEGIN INIT INFO
# Provides: ddclient
### END INIT INFO
CONFIG="/opt/etc/ddclient/ddclient.conf"
# Check if the config file exists. If not exit 1
if [ ! -f "$CONFIG" ]; then
echo "ERROR config file is missing!"
exit 1
fi
case "$1" in
start)
if [[ -z `ps aux | grep -v grep | grep ddclient` ]]; then
echo "Starting ddclient"
ddclient
else
echo "ddclient is already running"
exit 1
fi
;;
stop)
if [[ ! -z `ps aux | grep -v grep | grep ddclient` ]]; then
echo "Shutting down ddclient"
kill `ps aux | grep -v grep | grep ddclient | awk '{print $2}'`
else
echo "ddclient is not running"
exit 1
fi
;;
restart)
$0 stop && $0 start || exit 1
;;
status)
ps aux | grep -v grep | grep ddclient > /dev/null
CHECK=$?
[ $CHECK == 0 ] && echo -e "ddclient ist online" || echo -e "ddclient is down"
;;
debug)
echo `ps aux | grep -v grep | grep ddclient | awk '{print $2}'`
echo `ps aux | grep -v grep | grep ddclient`
;;
*)
echo "Usage: $0 {start|stop|restart|status|debug}"
exit 1
esac
exit 0
Das Problem ist nun, das Script denkt das der Prozess immer läuft, egal ob er läuft oder nicht.
Deshalb habe ich zu Testzwecken den punkt debug im Script eigefügt und siehe da das problem ensteht nur wenn das script den Befehl `ps aux | grep -v grep | grep ddclient` ausführt.
Wenn das script den Befehl `ps aux | grep -v grep | grep ddclient` ausführt bekomme ich:
Rich (BBCode):
root 28791 0.0 0.0 7328 4212 pts/2 S+ 19:34 0:00 ddclient - sleeping for 580 seconds root 28832 0.0 0.0 3692 964 pts/2 S+ 19:34 0:00 /opt/bin/bash ./S05ddclient.sh debug root 28838 0.0 0.0 3692 344 pts/2 S+ 19:34 0:00 /opt/bin/bash ./S05ddclient.sh debug
Wenn ich den Befehl `ps aux | grep -v grep | grep ddclient` allerdings über die console eingebe bekomme ich genau das was ich haben will:
Rich (BBCode):
root 29162 0.0 0.0 7328 4208 pts/2 S+ 19:37 0:00 ddclient - sleeping for 510 seconds
Wiso ich jetzt unterschiedliche ausgaben bekomme, kann ich nicht nachvollziehen.
Ich hoffe ihr könnt mir da weiterhelfen.
mfg