forked from team/site
add user-unit wiki page
This commit is contained in:
parent
13cefad4eb
commit
5cd185b899
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
author: ~ben
|
||||
published: true
|
||||
title: daemonize with user units
|
||||
description: a quick tutorial on creating and managing daemonized processes with systemd user units
|
||||
category:
|
||||
- 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!
|
||||
|
||||
1. ensure that your user unit loadpath is set up:
|
||||
```bash
|
||||
mkdir -p ~/.config/systemd/user/
|
||||
```
|
||||
|
||||
1. create a basic service. save something like this in ~/.config/systemd/user/my-new-service.service (adjusting where necessary)
|
||||
```bash
|
||||
[Unit]
|
||||
Description=foo
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/bash -c "while true do; echo hi; done"
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
```
|
||||
|
||||
1. enable it
|
||||
```bash
|
||||
systemctl --user enable --now my-new-service.service
|
||||
```
|
||||
|
||||
1. enable-linger for your user account
|
||||
```bash
|
||||
loginctl enable-linger
|
||||
```
|
||||
this allows your user units to run even when you're not logged in.
|
||||
|
||||
done!
|
||||
|
||||
you can now use `systemctl --user` to manage your daemonized process.
|
||||
|
Loading…
Reference in New Issue