qpsmtpd-prefork(8)
π qpsmtpd-prefork β the girlies' guide to the preforkin server for qpsmtpd π
okay so bestie, welcome to qpsmtpd-prefork(8), straight outta the System Manager's Manual. this is the page for the qpsmtpd frontend script that's out here doing the absolute most so your mail server never has to wait. sit down, grab a strawberry π, and let's get into it.
β¨ NAME β¨
qpsmtpd-prefork β the preforkin server for qpsmtpd. yes it really says "preforkin" in the title, and honestly? iconic. we keep it.
πΈ SYNOPSIS πΈ
qpsmtpd-prefork [options]
that's it. that's the whole vibe. just the command and whatever options your heart desires. π
π¦ DESCRIPTION π¦
so qpsmtpd-prefork is the qpsmtpd frontend script. it's the one that:
- binds to the SMTP TCP socket β like, it's the one actually holding the door open for incoming mail
- asynchronously forks new children in advance of new connections β meaning it's already got workers ready and waiting before anyone even knocks. main character energy, fr fr. no cap, it is literally pre-gaming the connections. π
π OPTIONS π
every single flag, no skips, no summarising, we're thorough in this house:
--port portβ binds to a specific port instead of the default2525. so if 2525 isn't your thing, say the word.--user userβ on startup, switch to run as user instead of the starting user. this one only applies when you started as root (which, btw, is the normal situation when you're listening on port25). root-only behaviour, iykyk.--limit-connections limitβ accept at most limit simultaneous connections. anything inbound past that limit gets deferred or refused β the door's just full, sorry babe.--max-from-ip limitβ accept at most limit simultaneous connections from any single given IP address. important: this does not override--limit-connectionsif that's also set. they're both doing their own thing.--children limitβ cap the total number of child processes at limit. once every child is busy handling requests, further connections get deferred. everyone's booked, bestie.--idle-children countβ keep count child processes available, subject to the upper bound you gave via--children. specify0to disable preforking entirely. zero means off, no preforking, we're done here.--interface addrβ bind to the local address addr, instead of the default behaviour of binding to all interfaces. and yes, you can specify this multiple times to bind to more than one interface or local address. multitasking queen.--renice-parent deltaβ adjust the priority of the parent process by delta, so it yields more CPU time to other processes. the default is5. she's generous like that.--detachβ detach from the controlling terminal at startup so it can run as a standalone daemon. see also--pid-file(they're besties).--pid-file filenameβ upon startup, and after daemonizing if applicable, write the process ID to filename. this is for sysvinit control scripts or similar utilities to find it later. π«Ά--pretty-childβ update child process names within the process table. she wants to look cute inps, and honestly? respect.--versionβ print the qpsmtpd release version and exit. quick lil flex.--debugβ be somewhat more verbose about logging during startup. note: this has no effect once fully started. it's a startup-only moment.--helpβ display commandline help and exit. the classic.
π AUTHOR π
- Copyright (c) 2006, SoftScan
- based on
qpsmtpd-forkserverby Ask Bjorn Hansen<ask@develooper.com> - http://smtpd.develooper.com/
π also quick vibe check: this page is qpsmtpd-prefork(8) from the System Manager's Manual, and that's exactly what's sitting down there in the footer too. so like, we've come full circle. periodt. π
hope that was giving what it needed to give. go forth and prefork responsibly, bestie. πβ¨π¦πΈπ«Ά
π¦ where this page comes from
- debian bookworm: qpsmtpd 0.94-5
- debian trixie: qpsmtpd 0.94-8
- ubuntu jammy: qpsmtpd 0.94-4
- ubuntu noble: qpsmtpd 0.94-6
- ubuntu questing: qpsmtpd 0.94-8
- ubuntu resolute: qpsmtpd 0.94-8build1
- ubuntu stonking: qpsmtpd 0.94-11
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms