--- virtuoso.sh.in.orig 2010-07-22 11:48:10.321767067 +0200 +++ virtuoso.sh.in 2010-07-22 12:12:25.879033347 +0200 @@ -18,7 +18,7 @@ # start stop restart reload status # -command=%%PREFIX%%/bin/virtuoso +command=%%PREFIX%%/bin/virtuoso-t . /etc/rc.subr @@ -27,23 +27,50 @@ # set defaults virtuoso_enable=${virtuoso_enable:-"NO"} virtuoso_user=virtuoso -eval virtuoso_config=${virtuoso_config:-"~${virtuoso_user}/db/virtuoso.ini"} -virtuoso_class=${virtuoso_class:-"default"} +virtuoso_data=%%PREFIX%%/virtuoso +virtuoso_config=db/virtuoso.ini +virtuoso_flags="+configfile ${virtuoso_config}" name=virtuoso rcvar=`set_rcvar` -command_args="-D ${virtuoso_data} ${virtuoso_flags}" +command_args="${virtuoso_flags}" extra_commands="reload" -start_cmd="virtuoso_command start" -stop_cmd="virtuoso_command stop" -restart_cmd="virtuoso_command restart" -reload_cmd="virtuoso_command reload" -status_cmd="virtuoso_command status" +start_cmd="virtuoso_start_command" +stop_cmd="virtuoso_stop_command" +restart_cmd="virtuoso_restart_command" +reload_cmd="virtuoso_restart_command" +status_cmd="virtuoso_status_command" -virtuoso_command() +virtuoso_start_command() { - su -l ${virtuoso_user} -c "exec ${command} ${command_args} ${rc_arg}" + su -l ${virtuoso_user} -c "cd ${virtuoso_data} && exec ${command} ${command_args}" +} + +virtuoso_stop_command() +{ + pid=`pgrep virtuoso` + if [ "x$pid" != "x" ]; then + kill $pid + else + echo "Virtuoso not running." + fi +} + +virtuoso_restart_command() +{ + virtuoso_stop_command + virtuoso_start_command +} + +virtuoso_status_command() +{ + pid=`pgrep virtuoso` + if [ "x$pid" = "x" ]; then + echo "Virtuoso not running." + else + echo "Virtuoso running as pid $pid" + fi } run_rc_command "$1"