EXIWHAT(8)

πŸ“¦
version 4.99.4 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ EXIWHAT β€” the manual, bestie edition πŸ’–

okay so this is exiwhat(8), from the System Manager's Manual section, and honestly? it's a little baddie for debugging. let's get into it 🫢


🌸 NAME 🌸

exiwhat β€” finding out what Exim processes are doing πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

exiwhat

that's it. that's the whole synopsis. no flags, no arguments, she's a one-line queen πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the vibe: on operating systems that can restart a system call after receiving a signal (which is, like, most modern OSes, no cap), an Exim process responds to the SIGUSR1 signal by writing a line describing what it's doing into the file exim-process.info in the Exim spool directory. it's basically a little diary entry. a status update. a be-real πŸ’€

and exiwhat? exiwhat is the bestie that goes and asks everyone. it sends that signal to all the Exim processes it can find, and before it does any of that it empties the file first (clean slate, we love a fresh start ✨). then it waits for one second to let all the Exim processes actually react β€” like giving everyone a sec to type their response in the group chat β€” and then it displays the results.

🚨 heads up: to run exiwhat successfully you have to have sufficient privilege to send the signal to the Exim processes, so it's normally run as root. it's giving main character energy and main character permissions, iykyk.

Now. the messy part πŸ™ˆ

Unfortunately, the ps command that exiwhat uses to find Exim processes varies in different operating systems. not only are different options used, but the format of the output is different too. like, every OS woke up and chose chaos 😭

For this reason, there are some system configuration options that configure exactly how exiwhat works. so if it doesn't seem to be working for you, go check these compile-time options:

  • EXIWHAT_PS_CMD β€” the command for running β€œps” πŸ’»
  • EXIWHAT_PS_ARG β€” the argument for β€œps” 🧾
  • EXIWHAT_EGREP_ARG β€” the argument for β€œegrep” to select from β€œps” output πŸ”
  • EXIWHAT_KILL_ARG β€” the argument for the β€œkill” command πŸ’€

An example of typical output from exiwhat is this lil masterpiece:

         164 daemon: -q1h, listening on port 25
       10483 running queue: waiting for 0tAycK-0002ij-00 (10492)
       10492 delivering 0tAycK-0002ij-00 to mail.ref.example [10.19.42.42]
         (editor@ref.example)
       10592 handling incoming call from [192.168.243.242]
       10628 accepting a local non-SMTP message

look at her go. so organized. so informative. we stan a readable process list 🌈

  • the first number in each output line is the process number πŸ”’
  • the third line has been split here, in order to fit it on the page (yes she's long, she's got a lot going on, let her live) πŸ“„

πŸ’œ BUGS πŸ’œ

okay so... this manual page needs a major re-work 🫠 like, glow-up pending, fr.

If somebody knows better groff than us and has more experience in writing manual pages, any patches would be greatly appreciated. not me begging in the manpage but here we are πŸ™πŸ˜­


🌟 SEE ALSO 🌟

  • exim(8)
  • /usr/share/doc/exim4-base/

πŸ‘‘ AUTHOR πŸ‘‘

This manual page was stitched together from spec.txt by Andreas Metzler <ametzler at downhill.at.eu.org>, for the Debian GNU/Linux system (but may be used by others). πŸ’–


and that's the whole page, bestie πŸŽ€ March 26, 2003 is the date on this one, straight outta the System Manager's Manual for exiwhat(8) β€” go check what your Exim processes are doing, you absolute icon πŸ’…βœ¨