I've got a small project that's based around a raspberry pi. A central part of this project is for my program to be executed on start-up and run until shutdown, all while running stand-alone (that means no SSH). One way I've found is to run my program with nohup, but this still requires an ssh session to start.

I've written the program following the guidelines for creating a linux daemon, yet when I execute it as sudo ./myprogram, it doesn't actually seem to be running as root (it can't to write to the GPIO pins). What is the proper way of going about this?

  • 1
    What Linux distribution are you running on your Raspberry Pi? (Raspbian?) That information might be helpful in figuring out what to do... Your system should have a set of init scripts that run during boot (for instance, look for an /etc/init.d directory.) That's usually the proper place to configure scripts to launch daemons on start up.
    – filbranden
    May 4, 2018 at 5:52
  • Yes, it's the latest version of raspbian. I took a look at that directory but am not sure how to make my own. Is it enough to just do DAEMON=/usr/bin/myDaemon and place my daemon executable in /usr/bin/?
    – Astrum
    May 4, 2018 at 6:24
  • 1
    Please state the version you are using, "The latest one" is changing over time!
    – MatsK
    May 4, 2018 at 6:28

1 Answer 1


You can use systemd services to get this job done. It's easier to control your application via systemd have a look at this tutorial https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files

  • Welcome to unix stackexchange and thanks for your reply. While providing sources is always good, it would really help if you could provide an example, links can break.
    – thecarpy
    May 4, 2018 at 11:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .