Escrevendo um script systemd que inicia 2 aplicativos no Linux

Escrevendo um script systemd que inicia 2 aplicativos no Linux

SO: Raspbian

Não estou conseguindo executar 2 aplicativos ao mesmo tempo comrc.local

Preciso encontrar um exemplo simples de como iniciar um aplicativo com systemd

O problema é que estou apenas encontrando exemplos específicos para iniciar servidores e eles são muito complexos. Tenho dificuldade em entender como escrever um arquivo systemd simples que executa um aplicativo, onde colocá-lo e como iniciá-lo.

Os dois aplicativos que estou tentando executar são: /home/pi/app1e/home/pi/app2

Quando executo uma linha de comando como esta: ambos os aplicativos são executados simultaneamente

/home/pi/app1 & /home/pi/app2 &

Mas por alguma razão, quando coloco a mesma linha em rc.local, apenas o primeiro aplicativo é executado,

Também não consigo despejar dados de rc.local

/home/pi/app1 & /home/pi/app2 &> /tmp/log esse arquivo /tmp/log nunca é criado

Não entendo por que isso não funciona, sugeriram-me usar o systemd, mas é desnecessariamente complicado com muitas opções.

Como seria um arquivo systemd simples para executar um desses aplicativos?

Eu só quero algo confiável que inicie esses dois aplicativos na inicialização, só isso

Obrigado

Responder1

Os defensores do systemd dirão que o systemd é mais fácil porque você não precisa escrever scripts.

Para o systemd, você provavelmente precisará de dois serviços, um para app1e outro para app2. Crie os arquivos em /etc/systemd/system, por exemplo app1.servicecom:

[Unit]
Description=app1 systemd service.

[Service]
Type=simple
ExecStart=/path/of/your/app/app1

[Install]
WantedBy=multi-user.target

Para ativar no momento da inicialização, faça

systemctl enable app1.service

informação relacionada