S6-NUKE(1)

πŸ“¦ version 2.3.1.2, in nixpkgs unstable

πŸ’… s6-nuke β€” the manual page, but make it make sense

okay bestie, so you know how sometimes you just need to yell at every process on the box at once? that's literally this. it's s6-nuke, from the General Commands Manual, and it's giving "group chat @everyone but with signals" energy. 🫢


🌸 NAME 🌸

s6-nuke β€” sends signals to every process it's allowed to send to. no cap, every process it can reach. πŸ’…


✨ SYNOPSIS ✨

s6-nuke [-h | -t | -k]

three flags. that's it. pick one, queen. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

so depending on which option you hand it, s6-nuke sends signals to, like… all the processes. and here's the lil caveat that actually matters: depending on s6-nuke's rights, not all processes may receive them. it can only nuke what it's allowed to nuke. permissions are the vibe check it cannot pass. 😭

also super important β€” s6-nuke protects itself against the signals it sends. which, ngl, does not do much good against SIGKILL (you literally cannot block that one, it's built different πŸ’€). but if it does survive the blast, it exits 0. slay. 🌈

and yes, s6-nuke can legit be used during the shutdown procedure of a system.<sup>[1]</sup> main character energy of a shutdown, fr fr. πŸŽ€


πŸ’– OPTIONS πŸ’–

  • -h β€” sends a SIGHUP. the gentle "hey, hang up already" of signals. πŸ™ˆ
  • -t β€” sends a SIGTERM and then a SIGCONT. double tap. first you say "please stop", then you poke it awake so it can actually notice. iconic combo. ✨
  • -k β€” sends a SIGKILL. no warning, no negotiation, no survivors. πŸ’€πŸ”₯
okay quick reminder bestie: these are mutually exclusive in the synopsis ([-h | -t | -k]), so pick your fighter. πŸ₯Š

🧚 EXIT STATUS 🧚

  • 111 β€” temporary error. it's not you, it's the moment. try again later. πŸ“
  • 100 β€” permanent error, such as a misuse. like, you used it wrong. that's on you, bestie. πŸ™ˆ
  • 127 β€” unable to execute program β€” not found. it's missing. gone. not in PATH. 😭
  • 126 β€” unable to execute program β€” other reason. present but refusing to cooperate. the audacity. πŸ’…

πŸ‘‘ SEE ALSO πŸ‘‘

the whole s6 portable-utils friend group, all present and accounted for (yes, all of them, i would never skip a single one πŸ’–):

s6-basename(1), s6-cat(1), s6-chmod(1), s6-chown(1), s6-clock(1), s6-cut(1), s6-dirname(1), s6-dumpenv(1), s6-echo(1), s6-env(1), s6-expr(1), s6-false(1), s6-format-filter(1), s6-grep(1), s6-head(1), s6-hiercopy(1), s6-linkname(1), s6-ln(1), s6-ls(1), s6-maximumtime(1), s6-mkdir(1), s6-mkfifo(1), s6-nice(1), s6-pause(1), s6-printenv(1), s6-quote(1), s6-quote-filter(1), s6-rename(1), s6-rmrf(1), s6-seq(1), s6-sleep(1), s6-sort(1), s6-sync(1), s6-tai64ndiff(1), s6-tail(1), s6-touch(1), s6-true(1), s6-uniquename(1), s6-unquote(1), s6-unquote-filter(1), s6-update-symlinks(1), seekablepipe(1)

and the footnote, because receipts matter:

[1] https://skarnet.org/software/s6/s6-svscan-1.html#stage3

also, this man page is ported from the authoritative documentation at: https://skarnet.org/software/s6-portable-utils/s6-nuke.html β€” so if you want the source of truth, that's the source of truth. 🫑


🌈 AUTHORS 🌈

  • Laurent Bercot
  • Alexis <flexibeast@gmail.com> (man page port) ✨

⭐ aaaand that's the whole page, bestie. this port came from the Debian folks, dated April 18, 2022, and it's the S6-NUKE(1) page β€” go forth and signal responsibly. πŸŽ€πŸ’œπŸ¦‹

πŸ“¦ where this page comes from