Systemd Services

Create and manage systemd services and timers. Configure service dependencies and resource limits. Use when managing system services.

majiayu000 Updated 567 repo stars

File contents

Systemd Services

Manage system services with systemd.

Service Unit File

# /etc/systemd/system/myapp.service
[Unit]
Description=My Application
After=network.target

[Service]
Type=simple
User=myapp
WorkingDirectory=/opt/myapp
ExecStart=/opt/myapp/bin/start
ExecStop=/opt/myapp/bin/stop
Restart=always
RestartSec=5
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

Service Management

systemctl daemon-reload
systemctl start myapp
systemctl stop myapp
systemctl restart myapp
systemctl enable myapp
systemctl status myapp
journalctl -u myapp -f

Timer (Cron Replacement)

# /etc/systemd/system/backup.timer
[Unit]
Description=Daily backup

[Timer]
Persistent=true

[Install]
WantedBy=timers.target

Resource Limits

[Service]
MemoryLimit=512M
CPUQuota=50%

Best Practices

  • Use Type=notify for better tracking
  • Implement proper restart policies
  • Use timers instead of cron
  • Set resource limits

majiayu000/claude-skill-registry-data/tree/main/devops/systemd-services commit 08947f25ca

Frequently asked questions

npx skillmds@latest add majiayu000/systemd-services