faz uma inicialização de aplicativo automaticamente

3

Aqui eu tenho um aplicativo implantado no linux, eu quero que o aplicativo seja inicializado automaticamente quando o linux iniciar. Estou usando um comando como 'sudo ./start' para iniciar o aplicativo. Como eu posso fazer isso?

OS: CentOS 6

    
por user3231931 29.08.2014 / 04:52

2 respostas

8

Não posso recomendar adicionar itens em /etc/rc.local . É um relicário de velhos dias unix. Existem Linuxes que não suportam mais rc.local .

No entanto, ele pode iniciar seu aplicativo / serviço corretamente, mas nunca encerra seu processo normalmente.

É melhor usar o mecanismo próprio dos scripts init ( Systemd , Atualizar , ...). Gostaria de escrever um script rc que se parece com isso (pode haver um esqueleto / modelo no seu sistema em /etc/init.d/skeleton ):

#!/bin/bash
. /etc/init.d/functions

start() {
        echo -n "Starting <servicename>: "
        #/path/to/the/executable/of/your/application
}

stop() {
        echo -n "Shutting down <servicename>: "
        #command_to_gracefully_end_the_application
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
    #command_to_report_the_status
    ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage: <servicename> {start|stop|restart}"
        exit 1
        ;;
esac
exit $?

Coloque seu script em /etc/init.d/, torne-o executável e adicione-o ao sistema runlevels 3, 4 e 5:

chkconfig --level 345 <servicename> on

Você também pode iniciar e interromper manualmente com:

service <servicename> start
service <servicename> stop
    
por 29.08.2014 / 08:29
2

A maioria dos Linuxes lá fora executa /etc/rc.local uma vez na inicialização do sistema. Abra este arquivo com um editor e adicione o comando para iniciar seu aplicativo.

Não é necessário colocar o prefixo sudo no comando, pois o script é executado como root.

Adicione um '&' (e comercial) no final do comando para executá-lo em segundo plano, para que ele não impeça o sistema de inicializar, caso sua aplicação não termine de uma só vez.

Exemplo para executar o arquivo myscript localizado em /usr/local/bin/

# place near the end of /etc/rc.local
/usr/local/bin/myscript &
    
por 29.08.2014 / 05:16

Tags