Hi,
i have a strange problem. If i try to start modesdeco2 via script with ' /etc/init.d/modesdeco2.sh start' i get this message:
pi@raspberrypi:~ $ /etc/init.d/modesdeco2.sh start
modesdeco2 started
pi@raspberrypi:~ $ terminate called after throwing an instance of 'BaseStationDbException'
what(): sqlite3_open \basestation.sqb unable to open database file 14
The script looks like this:
#!/bin/bash
### BEGIN INIT INFO
#
# Provides: modesdeco2
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: modesdeco2 initscript
#
### END INIT INFO
## Fill in name of program here.
PROG="modesdeco2"
PROG_PATH="/home/pi/modesdeco2"
PROG_ARGS="--gain 49.6 --freq-correction 58 --location 52.22:7.48 --web 8088 --db \basestation.sqb $
#PROG_ARGS="--interactive --net --net-ro-port 31001"
PIDFILE="/var/run/modesdeco2.pid"
start() {
if [ -e $PIDFILE ]; then
## Program is running, exit with error.
echo "Error! $PROG is currently running!" 1>&2
exit 1
else
## Change from /dev/null to something like /var/log/$PROG if you want to save output.
cd $PROG_PATH
./$PROG $PROG_ARGS 2>&1 >/dev/null &
echo "$PROG started"
touch $PIDFILE
fi
}
stop() {
if [ -e $PIDFILE ]; then
## Program is running, so stop it
echo "$PROG is running"
killall $PROG
rm -f $PIDFILE
echo "$PROG stopped"
else
## Program is not running, exit with error.
echo "Error! $PROG not started!" 1>&2
exit 1
fi
}
## Check to see if we are running as root first.
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
case "$1" in
start)
start
exit 0
;;
stop)
stop
exit 0
;;
reload|restart|force-reload)
stop
start
exit 0
;;
**)
echo "Usage: $0 {start|stop|reload}" 1>&2
exit 1
;;
esac
#
If i try to start via './modesdeco2 --gain 49.6 --freq-correction 58 --location 52.22:7.48 --web 8088 --db \basestation.sqb --silhouettes \silhouettes --google-key xyz' it works perfekt.
I have no idea :(... Can you help me?!
Many thanks.
Best regards,
Peter
Hello,
Try full path to the Database. --db /home/pi/modesdeco2/basestation.sqb
Kind Regards
A380
Thanks A380, i tried it but nothing changes :(...
Quote from: EDDG on February 15, 2017, 06:04:30 PM
Thanks A380, i tried it but nothing changes :(...
I suspect the database was perhaps open when copied. That's one thing which I know which could cause it.
Also make sure all permissions are in order.
Lastly, if on a raspberry make sure the owner is pi:pi
I've fallen for all of these across today while getting things going on my PiAware setup. Darned hard to spot some of those were.
Hope some (or even all if you were really unlucky like I was) of this helps. ;)
this code works for me.
#!/bin/bash
### BEGIN INIT INFO
#
# Provides: modesmixertest
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: modesmixertest initscript
#
### END INIT INFO
## Fill in name of program here.
PROG="modesmixertest"
PROG_PATH="/xdeco"
PROG_ARGS="--web 8888 --inConnect 127.0.0.1:30005 --location 45.5:-73.7 --outServer beast:30205 --db /xdeco/bss.sqb &"
PIDFILE="/var/run/modesmixertest.pid"
start() {
if [ -e $PIDFILE ]; then
## Program is running, exit with error.
echo "Error! $PROG is currently running!" 1>&2
exit 1
else
## Change from /dev/null to something like /var/log/$PROG if you want to save output.
cd $PROG_PATH
./$PROG $PROG_ARGS 2>&1 >/dev/null &
echo "$PROG started"
touch $PIDFILE
fi
}
stop() {
if [ -e $PIDFILE ]; then
## Program is running, so stop it
echo "$PROG is running"
killall $PROG
rm -f $PIDFILE
echo "$PROG stopped"
else
## Program is not running, exit with error.
echo "Error! $PROG not started!" 1>&2
exit 1
fi
}
## Check to see if we are running as root first.
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi
case "$1" in
start)
start
exit 0
;;
stop)
stop
exit 0
;;
reload|restart|force-reload)
stop
start
exit 0
;;
**)
echo "Usage: $0 {start|stop|reload}" 1>&2
exit 1
;;
esac
#
- copied modesmixer2 to modesmixertest
- renamed in /xdeco a copy of basestation.sqb to bss.sqb
- in a PC running Win7 and google chrome http://192.168.0.12:8888/ works flawlessly.
HTH
brgds