Escribir un script systemd que inicia 2 aplicaciones en Linux

Escribir un script systemd que inicia 2 aplicaciones en Linux

SO: Raspbian

No puedo ejecutar 2 aplicaciones a la vez conrc.local

Necesito encontrar un ejemplo simple de cómo iniciar una aplicación con systemd

El problema es que solo encuentro ejemplos específicos para iniciar servidores y son muy complejos. Me cuesta entender cómo escribir un archivo systemd simple que ejecute una aplicación, dónde colocarlo y cómo iniciarlo.

Las dos aplicaciones que intento ejecutar son: /home/pi/app1y/home/pi/app2

Cuando ejecuto una línea de comando como esta: ambas aplicaciones se ejecutan simultáneamente

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

Pero por alguna razón, cuando pongo la misma línea en rc.local, solo se ejecuta la primera aplicación.

Parece que tampoco puedo volcar datos de rc.local

/home/pi/app1 & /home/pi/app2 &> /tmp/log ese archivo /tmp/log nunca se crea

No entiendo por qué esto no funciona. Me sugirieron usar systemd pero es innecesariamente complicado con demasiadas opciones.

¿Cómo sería un archivo systemd simple para ejecutar una de estas aplicaciones?

Sólo quiero algo confiable que inicie estas dos aplicaciones al arrancar, eso es todo.

Gracias

Respuesta1

Los defensores de systemd le dirán que systemd es más fácil porque no necesita escribir scripts.

Para systemd, probablemente necesitará dos servicios, uno para app1y otro para app2. Cree los archivos en /etc/systemd/system, por ejemplo app1.servicecon:

[Unit]
Description=app1 systemd service.

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

[Install]
WantedBy=multi-user.target

Para habilitarlo en el momento del arranque, haga

systemctl enable app1.service

información relacionada