Adopting a Linux daemon
Getting a background process up and running in Linux isn't straightforward. It involves a deep understanding of Linux processes that most Windows developers (and even many who work on Linux) never worry about.
A Linux daemon is a background process owned by the system initialization process (Init). Usually, they are spawned (or created) by Init, but they can be started by applications that then fork a child process (somewhat like creating a separate thread) and then exit. When that happens, the spawned child process becomes orphaned—at which point Init adopts it. You can find a very brief overview of what takes place, with many of the details left out, in the Building a (real) Linux daemon in Delphi blog at http://blog.paolorossi.net/2017/09/04/building-a-real-linux-daemon-with-delphi-part-2.
Note
If you know a thing or two about Linux, you might be aware that you can start an app and send it immediately to the background by simply appending...