Javilonas
Trovador Loco
Developer
- Registrado
- 10 Sep 2006
- Mensajes
- 25.306
- Reacciones
- 2.689
- Puntos
- 322
Pues para los que alternéis emuladoras, os recuerdo que antes de rular una nueva se ha de matar el proceso de la anterior, creí que el panel d econtrol lo haría pero parece ser que aún queda afinarlo un poco,
para ello la solución super sencilla pasa por añadir antes de el killall de la emuladora actual el de la otra o las otras que queramos poner a andar,
es decir os pongo un ejemplo:
Este script es para CCcam:
Pues bien, si lo usamos solo (que es como se supone que se ha de usar) pues matamos correctamente el proceso CCcam con el mismo script, pero el problema llega si luego cambiamos a otro script teniendo este actualmente ejecutándose...
Problema? ninguno, solo tenemos que añadirle un killall antes en el script nuevo y ya de camino a este le hacemos lo mismo, es decir, veamos un ejemplo de el otro script de mbox:
Los script están bien, y si se usan correctamente pues ningún problema, pero si se quiere cambiar de uno a otro se tendría que añadir en el caso de CCcam un killall -9 mbox 2>/dev/null justo debajo de el stop_cam es decir así:
y en el caso de Mbox se debería de hacer lo mismo pero al contrario, pongo ejemplo también:
Y ya está, si fuese sbox o newcs pues ya sabéis que toca modificar eso por el nombre de la emu que toque o directamente añades tantos killall como emus que tengas,
yo buscaré solución para ello pero creo que es bueno indicarlo para que lo sepáis todo.
De esta manera antes de arrancar el siguiente script el anterior ya se encarga de matar el proceso existente.
Saludos
para ello la solución super sencilla pasa por añadir antes de el killall de la emuladora actual el de la otra o las otras que queramos poner a andar,
es decir os pongo un ejemplo:
Este script es para CCcam:
Código:
#!/bin/sh
CAMNAME="CCcam"
remove_tmp () {
rm -rf /tmp/*.info /tmp/*.tmp
}
echo "[SCRIPT] $1: $CAMNAME"
remove_tmp
start_cam ()
{
sleep 2
/usr/bin/CCcam &
}
echo "[SCRIPT] $1: $CAMNAME"
remove_tmp
stop_cam ()
{
killall -9 CCcam 2>/dev/null
}
case "$1" in
start)
start_cam
;;
stop)
stop_cam
;;
restart)
$0 stop
$0 start
;;
*)
esac
exit 0
Pues bien, si lo usamos solo (que es como se supone que se ha de usar) pues matamos correctamente el proceso CCcam con el mismo script, pero el problema llega si luego cambiamos a otro script teniendo este actualmente ejecutándose...
Problema? ninguno, solo tenemos que añadirle un killall antes en el script nuevo y ya de camino a este le hacemos lo mismo, es decir, veamos un ejemplo de el otro script de mbox:
Código:
#!/bin/sh
CAMNAME="Mbox"
remove_tmp () {
rm -rf /tmp/*.info* /tmp/*.tmp*
}
echo "[SCRIPT] $1: $CAMNAME"
remove_tmp
start_cam ()
{
sleep 9
/usr/bin/mbox /usr/keys/mbox.cfg &
}
echo "[SCRIPT] $1: $CAMNAME"
remove_tmp
stop_cam ()
{
touch /tmp/mbox.kill
sleep 10
killall -9 mbox 2>/dev/null
}
case "$1" in
start)
start_cam
;;
stop)
stop_cam
;;
restart)
$0 stop
$0 start
;;
*)
esac
exit 0
Los script están bien, y si se usan correctamente pues ningún problema, pero si se quiere cambiar de uno a otro se tendría que añadir en el caso de CCcam un killall -9 mbox 2>/dev/null justo debajo de el stop_cam es decir así:
Código:
#!/bin/sh
CAMNAME="CCcam"
remove_tmp () {
rm -rf /tmp/*.info /tmp/*.tmp
}
echo "[SCRIPT] $1: $CAMNAME"
remove_tmp
start_cam ()
{
sleep 2
/usr/bin/CCcam &
}
echo "[SCRIPT] $1: $CAMNAME"
remove_tmp
stop_cam ()
{
killall -9 mbox 2>/dev/null
killall -9 CCcam 2>/dev/null
}
case "$1" in
start)
start_cam
;;
stop)
stop_cam
;;
restart)
$0 stop
$0 start
;;
*)
esac
exit 0
y en el caso de Mbox se debería de hacer lo mismo pero al contrario, pongo ejemplo también:
Código:
#!/bin/sh
CAMNAME="Mbox"
remove_tmp () {
rm -rf /tmp/*.info* /tmp/*.tmp*
}
echo "[SCRIPT] $1: $CAMNAME"
remove_tmp
start_cam ()
{
sleep 9
/usr/bin/mbox /usr/keys/mbox.cfg &
}
echo "[SCRIPT] $1: $CAMNAME"
remove_tmp
stop_cam ()
{
killall -9 CCcam 2>/dev/null
touch /tmp/mbox.kill
sleep 10
killall -9 mbox 2>/dev/null
}
case "$1" in
start)
start_cam
;;
stop)
stop_cam
;;
restart)
$0 stop
$0 start
;;
*)
esac
exit 0
Y ya está, si fuese sbox o newcs pues ya sabéis que toca modificar eso por el nombre de la emu que toque o directamente añades tantos killall como emus que tengas,
yo buscaré solución para ello pero creo que es bueno indicarlo para que lo sepáis todo.
De esta manera antes de arrancar el siguiente script el anterior ya se encarga de matar el proceso existente.
Saludos