Como eu configuro um programa para iniciar quando a máquina linux é ligada? [duplicado]

1

Eu tenho uma máquina Linux rodando um programa constantemente, se a energia for cortada, o programa não reiniciará até que eu abra uma sessão SSH e digite "./GPIOServer.sh" Isso é apenas no caso de eu perder energia para a máquina, e eu quero que o programa inicie automaticamente na inicialização.

Obrigado!

    
por user190333 16.01.2013 / 06:04

2 respostas

1

Qual versão do sistema operacional você está usando?

Dependendo do que é, você tem basicamente duas opções:

/etc/rc.local

Você pode adicionar o executável ao arquivo rc.local que está localizado aqui nas distribuições Redhat: /etc/rc.local . Você pode simplesmente adicionar ./GPIOServer.sh ao final deste arquivo.

/etc/init.d /

Se você quiser que seja um serviço, será necessário adicionar um script semelhante aos que estão em /etc/init.d/ . Novamente nas distribuições baseadas no Redhat, existe uma ferramenta para ajudar a gerenciar esses scripts chamados chkconfig . Veja a página de manual para mais informações e também veja os outros scripts em /etc/init.d para saber como abordar isso.

Aqui está um exemplo para você começar:

#! /bin/sh
# Basic support for IRIX style chkconfig
###
# chkconfig: 235 98 55
# description: Manages the services you are controlling with the chkconfig command
###

case "$1" in
  start)
        echo -n "Starting new-service"
        #To run it as root:
        /path/to/command/to/start/new-service
        #Or to run it as some other user:
        /bin/su - username -c /path/to/command/to/start/new-service
        echo "."
        ;;
  stop)
        echo -n "Stopping new-service"
        #To run it as root:
        /path/to/command/to/stop/new-service
        #Or to run it as some other user:
        /bin/su - username -c /path/to/command/to/stop/new-service
        echo "."
        ;;

  *)
        echo "Usage: /sbin/service new-service {start|stop}"
        exit 1
esac

exit 0
    
por 16.01.2013 / 06:41
0

Com um raspberry-pi, a maneira mais simples seria adicionar uma linha com o caminho completo do script ao arquivo /etc/rc.local .

    
por 16.01.2013 / 06:39