Foros del Web » Programando para Internet » PHP »

Problema con respuesta de un shell_exec()

Estas en el tema de Problema con respuesta de un shell_exec() en el foro de PHP en Foros del Web. Primero que todo esto mezcla PHP + Shellscript talvez este mala la seccion bueno espero que no y si es asi porfavor muevanlo para poder ...
  #1 (permalink)  
Antiguo 25/12/2008, 12:12
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 6 meses
Puntos: 12
Problema con respuesta de un shell_exec()

Primero que todo esto mezcla PHP + Shellscript talvez este mala la seccion bueno espero que no y si es asi porfavor muevanlo para poder obtener una respuesta :D

les cuento tengo un script en shellscript ese hace que maneje un proceso a mi gusto, (start - stop - restart) les dejo el script:

Cita:
#!/bin/sh
#vollständiges loop Startscript , restartet einen Gameserver bei Crash
#Autor: Zyrusthc
#Website: http://zyrusthc.homeip.net
#
#Syntax: ./startscript $X
# $X = start stop restart restartfork
#
#License: GPL
#http://www.gnu.org/licenses/gpl.html

BASEDIR=/home/irgentwas
PROGRAMM="mohaa_lnxded"
PARAM="+set dedicated 2 +set net_port 12203 +exec custom.cfg"
LOGFILE=$BASEDIR/server.log

INITPIDFILE=$BASEDIR/moh.init.pid
PIDFILE=$BASEDIR/moh.pid

COMMAND="$PROGRAMM $PARAM"
STARTSCRIPTNAME=$0

case "$1" in
start)
echo "Starte $STARTSCRIPTNAME und Kommando: \"$COMMAND\""
$0 fork &
echo $! > $INITPIDFILE
disown
;;

stop)
if test -f $INITPIDFILE; then
if ps aux | grep $(cat $INITPIDFILE) 1> /dev/null 2> /dev/null; then
echo "killing $STARTSCRIPTNAME"
kill -9 $(cat $INITPIDFILE) 1> /dev/null 2> /dev/null
fi
rm $INITPIDFILE
fi

if test -f $PIDFILE; then
if ps aux | grep $(cat $PIDFILE) 1> /dev/null 2> /dev/null; then
echo killing $PROGRAMM
kill -TERM $(cat $PIDFILE) 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
;;

restart)
if test -f $PIDFILE; then
if ps aux | grep $(cat $PIDFILE) 1> /dev/null 2> /dev/null; then
echo "killing $PROGRAMM für restart..."
kill -TERM $(cat $PIDFILE) 1> /dev/null 2> /dev/null
#kill -9 $(cat $PIDFILE) 1> /dev/null 2> /dev/null
fi
rm $PIDFILE
fi
;;

restartfork)
$0 stop
$0 start
;;

fork)
while [ true ]; do
if test -f $LOGFILE; then
mv $LOGFILE $LOGFILE.old
fi
$BASEDIR/$COMMAND 2> $LOGFILE &
echo $! > $PIDFILE
wait
done
;;

*)
echo "Usage: $0 {start|stop|restart|restartfork}"
;;
esac
Que pasa?...

Bueno al hacer un shell_exec(); con php este nunca obtiene la respuesta de que si el servicio quedo arriba o no se pudo subir etc. ¿Porque?, pues debe ser por el uso del WHILE en script, entonces la pregunta seria.

¿Como podria obtener un respuesta usando este script?

Espero que me puedan ayudar si necesitan mas info para ayudarme no duden en pedirla.

Saludos y de antemano Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:11.