Executando um processo na inicialização

2

Desculpe se esta é uma questão básica, eu sou relativamente inexperiente com o Ubuntu e Linux em geral.

Eu estou querendo atualizar um servidor de aplicativos do JBoss EAP 5 para o Jboss EAP 6, anteriormente nós enviamos aos clientes instruções para rodar o JBoss EAP 5 na inicialização, então eu estou procurando fazer o mesmo para o JBoss EAP 6. I ' Eu tenho que trabalhar de uma maneira, adicionando a seguinte linha a /etc/rc.local :

sh /opt/jboss-eap-6.1/bin/domain.sh

Apesar do que eu li, esta não é uma abordagem recomendada. Pelo que entendi, a abordagem que usamos para o JBoss 5 envolveu colocar um link simbólico nos diretórios de inicialização do nível de execução ( /etc/rc2.d/ , por exemplo) que referenciava outro script em /etc/init.d para iniciar o serviço.

Eu tentei isso para o JBoss 6.1, e embora eu inicie manualmente o processo com " sh /etc/rc2.d/S01jboss6.1 ", o JBoss começa a rodar, este processo não roda por conta própria na inicialização.

Eu acredito que estou correto em pensar que o Ubuntu é iniciado no nível de execução 2, então não é o caso que este script em /etc/rc2.d/ deva ser executado quando o sistema operacional for inicializado?

Obrigado.

    
por Potato Man 23.01.2014 / 10:46

1 resposta

0

Eu não conheço o JBoss. Seu roteiro é um tiro ou continua funcionando? Para serviços que mantêm em primeiro plano (em um terminal) e permanecem em execução, você pode escrever um serviço iniciante como o seguinte. Se for um one shot ou gerar um processo do daemon, você precisará editar o script de início abaixo, caso contrário, o upstart não terá controle sobre o processo ou tentará executá-lo várias vezes.

O script precisa ser executável e estar em /etc/init/myscript.conf. Em seguida, crie um link simbólico de /etc/init.d/myscript para / lib / init / upstart-job

ln -s /lib/init/upstart-job /etc/init.d/myscript

Você pode iniciar seu script assim: service myscript start

description     "myscript"
author          "you"

start on (local-filesystems and net-device-up)
stop on runlevel [!2345]

kill timeout 50

respawn
respawn limit 1 5

env USER="user"
env PIDFILE="/var/run/myscript.pid"
env DAEMON="path/to/script"

pre-start script
  do smothing
end script

# starting ...
exec start-stop-daemon --start --chuid $USER --pidfile $PIDFILE --make-pidfile --exec $DAEMON -- all my options 2>&1 >> /var/log/my.log

pre-stop script
        do something
        sleep 2
end script

# spring clean
post-stop exec rm -f $PIDFILE

Para mais informações, consulte: link

    
por Johannes 23.01.2014 / 11:13