Create a simple service unit systemd
Minimal systemd service unit template
cat > /etc/systemd/system/myapp.service <<EOF
[Unit]
Description=My App
After=network.target
[Service]
ExecStart=/usr/bin/myapp
Restart=always
RestartSec=5
User=appuser
[Install]
WantedBy=multi-user.target
EOF
more systemd
all 26 commands →
Run one-shot as another user
systemd-run --uid=1000 --gid=1000 --wait /usr/bin/myapp --task
Create systemd timer
cat > /etc/systemd/system/backup.timer <<EOF
[Unit]
Description=Daily backup
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
EOF
Set memory limit on service
systemctl set-property myapp.service MemoryMax=512M CPUQuota=50%
Show service resource usage
systemctl status myapp.service | grep -E 'Memory:|CPU:|Tasks:'
List all socket units
systemctl list-units --type=socket --all