|~ben||true||daemonize with user units||a quick tutorial on creating and managing daemonized processes with systemd user units||[main]|
daemonize all the things
so you've got a process that you want to keep running. you might have it in a tmux or screen session. let's use systemd user units to manage it!
ensure that your user unit loadpath is set up:
mkdir -p ~/.config/systemd/user/
create a basic service. save something like this in
~/.config/systemd/user/my-new-service.service(using the name of the unit you're creating)
[Unit] Description=foo [Service] ExecStart=/bin/bash -c "while true do; echo hi; done" [Install] WantedBy=default.target
systemctl --user enable --now my-new-service.service
enable-linger for your user account
this allows your user units to run even when you're not logged in.
you can now use
systemctl --user to manage your daemonized process.
alias sysu='systemctl --user' to your shell's configuration
for a handy shortcut (or any other alias as you choose)