+ Responder ao Tópico



  1. #1

    Angry aplicação java não roda

    Amigos,
    estamos com o seguinte problema aqui em um servidor da empresa;
    distribuição = redhat enterprise 5,
    temos um script como o abaixo, que roda no boot da máquina executado do rc.local :
    #!/bin/sh

    cd /data/mobdelivery/WEB-INF/classes/
    java -cp . com/master/util/MobDelivery_Server

    cd /data/mdcon/WEB-INF/classes
    java -cp . br/com/controlpoint/util/MobDelivery_Server_MdCon
    pois a segunda execução do java trava e não executa.
    os dois programas abrem sockets tcpip, porém em portos diferente.
    se invertermos a ordem da execução sempre o segundo trava.
    se fizermos a execução na mão no shell de um terminal funciona.

    se alguem tiver alguma dica, ficaria grato em recebe-la.

  2. #2

    Padrão

    tipo jah penso em dividir os comandos em 2 scripts ???? pois assim kda um seria executado de forma separada

  3. #3

    Padrão resolvido...

    Fácil para quem sabe: bastou colocar o sinal & no final da linha de comando.
    O dito 'ampersand" coloca a aplicação para rodar em background.

    Explicação: Quando a primeira aplicação rodava abria um pipe para o stdin e a segunda ficava aguardando o termino da primeira . Quando matava-se a primeira rodava a segunda. Com o sinal & isso não acontece, pois o stdin e stdout ficam redirecionados para background. Simples não é?

    java -cp . br/com/controlpoint/util/MobDelivery_Server_MdCon &

    Obrigado a todos.