O desligamento não desliga o computador com o serviço db derby

0

Eu defino o db derby do serviço seguindo estas instruções Fresh Install Ubuntu 12h10 - 17. apache db derby

#!/bin/bash
#
# Startup script for Derby
### BEGIN INIT INFO
# Provides:          derby
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     91 2 3 4 5
# Default-Stop:      20 0 1 6
# Short-Description: Start Apache Derby DB at boot time.
# Description:       Provides a small simple java based DB.
### END INIT INFO#
# chk con fig: 345 94 16
# description: Derby startup script
# to enable on bootup on redhat "chkconfig --level 35 derby on"
# to enable on bootup on debian "update-rc.d derby defaults" or the
# slightly longer (but better run levels) "update-rc.d derby start 91 2 3 4 5  . stop 20 0 1 6 ."

# see http://blog.rimuhosting.com/2009/09/30/one-java-init-script/

HOMEDIR=/opt/db-derby
DERBY_USER=derby
APPNAME=Derby

# see http://www.vogella.com/articles/ApacheDerby/article.html  for startUp Options
RUNCOMMAND="bin/startNetworkServer  -h 0.0.0.0"
STOCOMMAND=bin/stopNetworkServer
LOGFILE=/var/log/derby.log
...

Quando o derby está rodando

service derby status
Derby ( PIDs 1503  ) is running.

Não consigo desligar o computador com a energia desligada. Desligamento finalizado na tela de login.

Quando paro o derby

sudo service derby stop

posso desligar o computador com a energia normalmente.

O que devo fazer para desligar - desligar o computador corretamente com o serviço em execução db derby?

    
por sidlo 22.05.2013 / 18:46

2 respostas

1

[RESOLVIDO]

Eu escrevo meu próprio script de serviço. Agora db derby funciona como esperado.

Definindo o Apache DB Derby no Ubuntu 12.04 como serviço.

Copie o arquivo derby no diretório /etc/init.d/

#!/bin/bash
#
# Startup script for Derby
#
# description: Derby startup script
# to enable on bootup on debian "update-rc.d derby defaults" or the
# to disable on bootup on debian "update-rc.d derby remove"


DBDIR=/var/db/derby
APPCOMMAND=/opt/db-derby-10.9.1.0-bin/bin/NetworkServerControl

start() {
    echo -n "Derby Starting: "
    cd $DBDIR
    sudo -u derby mv derby.2.log derby.3.log
    sudo -u derby mv derby.1.log derby.2.log 
    sudo -u derby mv derby.log derby.1.log 
    sudo -u derby $APPCOMMAND start -h 0.0.0.0 &
    sudo -u derby sleep 3
    sudo -u derby chmod 644 derby.log 
}

stop() {
echo -n $"Derby Shutting down: "
    $APPCOMMAND shutdown &
}

status() {
    echo "Derby has status: "
    $APPCOMMAND ping
}

case "$1" in
    start)
        start
        ;;
     stop)
        stop
        ;;
     restart)
        stop
        sleep 3
        start
        ;;
     status)
        status
        ;;
     *)
        echo "Usage: $0 {start|stop|restart|status}"
     exit 1
esac

exit $?

Em seguida, instale o script como serviço pelo comando update-rc.d derby defaults .

Desinstalar script por comando update-rc.d derby remove .

Defina o diretório /var/db/derby para o proprietário derby .

sidlo64@ubuntu:/var/db$ ls -al
drwxr-xr-x  3 root  root  4096 srp 24 16:48 .
drwxr-xr-x 16 root  root  4096 srp 26 06:45 ..
drwxr-xr-x  3 derby derby 4096 srp 24 22:28 derby

Para parar manualmente o uso do banco de dados service derby stop .

Para iniciar manualmente o uso do banco de dados sudo service derby start .

    
por sidlo 25.08.2013 / 17:54
0

Talvez seja apenas um bug que pode ser corrigido pela reinstalação do keyring do gnome, ou pelo serviço do Derby, Tente o desligamento normal do terminal:

sudo halt

OU mesmo a força de desligamento

sudo shutdown -h now

Além disso, você pode criar um pequeno script que primeiro interrompe o serviço derby e depois faz o desligamento.

    
por Amir 22.05.2013 / 19:23