I always find myself googling the same things multiple times. Therefore it's good to have a place to store these things and maybe it's also useful for someone else googling it again.

For my Pi Project I want to run a node.js application always in the background. I found the perfect solution in the systemd service which is part of every *nix system. There is also a command line tool called systemctl which makes it kinda easy to control the daemon.

Create a .target file

First step is to create a target file in /etc/systemd/system which contains the path to the executable and some other information. I called mine pi-way.target:


ExecStart=/usr/bin/node index.js


Use systemctl to control the service

The next step is to start the service with sudo systemctl start pi-way (replace pi-way with the name of your .target file)

The start command will run your service for the current session. If you want the service to survive a reboot, then you have to enable it by executing sudo systemctl enable pi-way.