-
unix signals: the complete reference
March 10, 2026
Every Unix signal explained: what it does, its number, whether it can be caught, and when to use it. Plus signal handling in bash, C, Node, Python, and Go.
-
nohup vs disown vs &: running background processes
March 10, 2026
Why closing your terminal kills background processes, and three ways to prevent it: &, nohup, and disown. Plus setsid, tmux, and when to use each.
-
managing child processes in node.js
March 10, 2026
Node.js child process methods explained: exec vs execFile vs spawn vs fork. Signal handling, orphan prevention, and graceful shutdown patterns.
-
kill vs pkill vs killall: when to use each
March 10, 2026
The differences between kill, pkill, and killall. Signal delivery, regex matching, portability gotchas, and when each is the right choice.
-
eaddrinuse: what it means and how to fix it
March 10, 2026
What EADDRINUSE means at the OS level, how to find what's using your port, and why ports stay busy after a crash (TIME_WAIT, SO_REUSEADDR).
-
zombie processes, orphans, and stuck processes: a debugging guide
March 06, 2026
What zombie, orphan, and stuck processes actually are, how to find them with ps and awk, and how to deal with each type.
-
ss vs netstat vs lsof: a practical guide
March 06, 2026
When to use ss, netstat, or lsof for network debugging. How each works under the hood, output differences, and awk patterns for parsing.
-
the ps | grep | awk | kill pipeline, explained
March 06, 2026
Break down the classic ps aux | grep | awk | xargs kill pipeline. What each piece does, why grep -v grep, and how awk extracts PIDs.
-
proc vs lsof vs fuser vs killport vs fkill vs procs
March 06, 2026
A practical comparison of CLI tools for process and port management on macOS and Linux.
-
how to find and kill a process on any port (macOS and Linux)
March 06, 2026
Every method to find and kill a process by port number on macOS and Linux — lsof, ss, netstat, fuser, and awk tricks for parsing their output.
-
automating process management in shell scripts
March 06, 2026
Patterns for reliable process management in shell scripts — PID files, health checks, awk parsing, and why text parsing breaks.
-
why i built proc
January 15, 2026
I kept forgetting how to find what's on port 3000. So I built a tool where the command you'd guess is the command that works.