kresd.systemd(7)

✨ kresd.systemd(7) ✨

okay bestie, so this is the kresd.systemd(7) page β€” it's the Knot Resolver 5.7.9 Systemd Units manual, and it's literally all about how to run Knot Resolver through systemd. no cap, it's giving "linux admin but make it cute" πŸ’–


🌸 NAME 🌸

kresd.systemd β€” managing Knot Resolver 5.7.9 through systemd. that's it, that's the vibe. periodt πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

kresd@.service
kresd.target
system-kresd.slice

three little units, three big jobs. slay πŸ¦‹


πŸ‘‘ DESCRIPTION πŸ‘‘

so this whole manual page is here to walk you through managing kresd with systemd units. iykyk πŸ”₯

✨ QUICKSTART ✨

systemctl start kresd@1 - single instance of kresd, responding on localhost

boom. one instance, hanging out on localhost. iconic 🫢

🌈 CONCURRENT DAEMONS 🌈

the kresd daemon can be run as multiple independent processes at the same time, and systemd manages them via systemd templates (peep systemd.unit(5) if you need the lore). every single systemd service instance of kresd (kresd@.service) = one single, independent kresd process. one instance, one process, no sharing, no drama πŸ’…

here's the tea though: if your machine has more than one CPU core, a single running kresd daemon can only use one core at a time β€” so the other cores are just sitting there idle, which is honestly giving unemployment 😭 if you want kresd to use all the available cores while sharing both cache and sockets, you should enable and start as many instances of kresd@.service as you have cores. typically each instance is just named kresd@N.service, where N is a decimal number. for example, to enable and start 3 concurrent daemons:

systemctl enable --now kresd@1.service kresd@2.service kresd@3.service

and the whole systemd-managed kresd service set is grouped into the system-kresd.slice slice πŸ‘‘ that slice includes all running daemons (aka all instances of kresd@.service).


πŸ’– EXAMPLES πŸ’–

to start a single kresd instance and enable it at boot:

systemctl enable --now kresd@1.service

to restart (or stop) all the running instances, you can use a glob expression. but bestie, important: glob can't be used to start or enable instances, fr fr πŸ™ˆ

systemctl restart 'kresd@*'

bash users can also use Brace Expansion to enable or start multiple instances instead of listing them manually one by one, which is so much less effort, we love that for us πŸŽ€

systemctl enable --now kresd@{1..4}.service

and to start all enabled kresd daemons, you can also use the provided kresd.target:

systemctl start kresd.target

πŸ¦‹ SEE ALSO πŸ¦‹


πŸ₯° AUTHORS πŸ₯°

the kresd developers are mentioned in the AUTHORS file in the distribution. give them their flowers πŸ’πŸ‘‘


and that's a wrap bestie ✨ this absolute gem of a page is brought to you by CZ.NIC, version Knot Resolver 5.7.9-flavored systemd units, dated 2026-10-22, filed under kresd.systemd(7). go forth and manage your daemons, you got this πŸ’œπŸ’–πŸ«Ά

πŸ“¦ where this page comes from