Systemd ist das Init-System auf den meisten modernen Distributionen. Eine einheitliche Methode zur Verwaltung von Prozessen, Diensten und Logs.
Grundlegende Befehle¶
systemctl start|stop|restart|reload|status nginx systemctl enable|disable nginx systemctl list-units –type=service –state=failed
Eigener Dienst¶
[Unit] Description=Meine Anwendung After=network.target postgresql.service [Service] Type=simple User=app WorkingDirectory=/opt/myapp ExecStart=/opt/myapp/bin/server –port 8080 Restart=on-failure RestartSec=5 EnvironmentFile=/opt/myapp/.env [Install] WantedBy=multi-user.target systemctl daemon-reload systemctl enable –now myapp
Ressourcenlimits¶
[Service] CPUQuota=200% MemoryMax=2G LimitNOFILE=65535 ProtectSystem=strict PrivateTmp=yes
Debugging¶
systemctl status myapp -l journalctl -u myapp –since ‘5 min ago’ systemd-analyze blame
Systemd ist Standard¶
Lernen Sie Unit-Dateien, Abhaengigkeiten und Ressourcenlimits.