This page (revision-6) was last changed on 16-Jan-2023 11:46 by Peter Hormanns 

This page was created on 04-Jan-2019 19:08 by Peter

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
6 16-Jan-2023 11:46 2 KB Peter Hormanns to previous type=forking
5 08-Dec-2020 20:42 2 KB Peter Hormanns to previous | to last Limits
4 04-Jan-2019 20:32 1 KB Peter to previous | to last
3 04-Jan-2019 20:23 1 KB Peter to previous | to last neu
2 04-Jan-2019 19:19 587 bytes Peter to previous | to last
1 04-Jan-2019 19:08 473 bytes Peter to last

Page References

Incoming links Outgoing links

Version management

Difference between version and

!!!Nutzerprozesse mit Systemd

Systemd kann nützlich sein, um auf einem Serversystem als "normaler" User Prozesse ("Daemons") nach dem Booten des Servers zu starten und um diese Prozesse in eine eigene Resourcen-Gruppe zu verschieben.

Voraussetzung ist die Installation den Pakets {{libpam-systemd}}

{{{
 apt-get install libpam-systemd
}}}

Zunächst muss das Feature für den User aktiviert werden

{{{
 loginctl enable-linger <someuser>
}}}

Danach sollte unter der Kennung des Users ''someuser'' eine Instanz des Prozesses "{{/lib/systemd/systemd --user}}" laufen.

Ins Environment des Users muss die Umgebungsvariable
{{{
 export XDG_RUNTIME_DIR="/run/user/$UID"
}}}

Eine Unit für den User kann in {{$HOME/.config/systemd/user/example.service}} angelegt werden. Dabei "example" durch den Namen des Service ersetzen. Im Folgenden nutze ich "tomcat".

Das Unit-File {{tomcat.service}}:

{{{
[Unit]
Description=Tomcat User Service

[Service]
WorkingDirectory=%h/tomcat
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"
ExecStart=%h/tomcat/bin/catalina.sh run
Restart=always
PrivateTmp=true
NoNewPrivileges=true

[Install]
WantedBy=default.target

}}}

Der Service wird aktiviert und gestartet mit:

{{{
 systemctl --user enable tomcat.service
 systemctl --user start tomcat.service
 systemctl --user status tomcat.service
 systemctl --user stop tomcat.service
}}}

Nach Änderungen des Unit-File:

{{{
 systemctl --user daemon-reload
}}}

!TODO

Memory pro User oder pro Service

* [https://unix.stackexchange.com/questions/351466/set-a-default-resource-limit-for-all-users-with-systemd-cgroups]