processes
Process management and control
-
job control
Tested jobs, fg, bg, disown and nohup examples: the jobs table, job specs like %1, suspending and resuming, and why none of it works in a script.
-
kill
Tested kill, pkill and killall examples: choosing a signal, why -9 is a last resort, matching by name or command line, and signalling a whole process group.
-
ps
Tested ps examples: aux versus -ef, choosing columns with -o, selecting by user or name, sorting, the process tree, and pgrep instead of grep.
-
ss
Tested ss examples: listing listening sockets, finding the process holding a port, filtering by state and address, and reading the queue columns.
-
systemctl
Tested systemctl examples: starting and stopping services, enabling them at boot, reading unit state, drop-in overrides, and diagnosing failures.
-
xargs
Tested xargs examples: batching with -n, placeholders with -I, NUL-separated input from find -print0, parallel runs with -P, and what its exit codes mean.
-
Processes and signals
How processes are born, orphaned and reaped, what a signal actually does, why kill -9 is a last resort, and why Ctrl-C stops a whole pipeline at once.
-
Terminal, shell and tty
What a terminal, a tty, a shell and a console each actually are, why Ctrl-D is not a signal, and why Ctrl-S appears to freeze everything.
-
Keep a program running after you log out
How to stop a long job dying when an ssh session ends, what each approach really does about SIGHUP, and an honest recommendation between them.
-
Find and kill whatever is using a port
Identify the process bound to a TCP port that's refusing to let a service start, then stop it.