Auto executa os programas Quando o sistema liga (Debian)

0

Eu tenho um preto beaglebone que tem o Debian 9.1. escrevemos um programa em c ++ para seus GPIOs e queremos que este programa seja sempre executado quando o sistema é ligado. como podemos fazer isso?

    
por Mohy Fahim 17.09.2017 / 21:12

2 respostas

1

Uma solução extremamente simples seria adicionar uma tarefa @reboot cron que apenas executa o binário.

Faça crontab -e para o usuário que precisa executar o código (por exemplo, sudo crontab -e para o crontab de raízes) e adicione a linha

@reboot /path/to/some/executable

Isso agendará o trabalho para ser executado toda vez que o sistema for inicializado.

Veja o manual crontab(5) para mais informações ( man 5 crontab ).

Dependendo do que o programa faz, isso pode ser o suficiente ou pode ser simplista demais.

    
por 17.09.2017 / 21:37
0

Você pode compilar o programa para dizer run_gpio e salvá-lo em um caminho conhecido, por exemplo %código%. Tem que ser marcado como executável para root:

/path/to/run_gpio

Em seguida, configure o sistema $ sudo chmod 755 /path/to/run_gpio do Debian para iniciar seu programa.

Você pode encontrar uma explicação, por exemplo Aqui: link

In Debian, a directory called /etc/init.d contains a list of scripts that are executed by init process during startup and shutdown. Thus, in order to automatically run a particular program or script at startup, you can create a corresponding init.d script.

$ sudo vi /etc/init.d/run_gpio
Instead of vi, you can also use nano.

Put these lines in the new file within the init.d directory:

#! /bin/sh
# /etc/init.d/run_gpio
case "$1" in start)
/path/to/run_gpio
;; esac

Finally, make the init.d script executable, and add the init.d script to a default runlevel, so that the script can be called at boot time (and also during shutdown).

$ sudo chmod 755 /etc/init.d/run_gpio
$ sudo update-rc.d run_gpio defaults

    
por 17.09.2017 / 21:28