procutils-skill 0.1.0

Send a signal to processes selected by user, tty, pid or command (obsolete; prefer pkill)
Documentation

skill

Send a signal to processes selected by user, tty, pid, or command.

Description

skill is the obsolete predecessor of pkill; both tools are kept for compatibility, but new use cases should prefer pkill. The CLI follows procps-ng's quirky convention where the signal is given as a leading -NAME or -N argument (e.g. skill -KILL -u alice), like kill(1).

The default signal is TERM. Selectors (-t, -u, -p, -c) are OR'd within their category and AND'd across categories.

Inputs

  • kill(2) syscall — sends signals to matched processes.
  • /proc/[pid]/stat — process name (comm), PID, session, tty.
  • /proc/[pid]/status — effective UID.
  • /proc/[pid]/cmdline — full command line (when matching by -c).

Synopsis

skill [signal] [options] <expression>

expression is a list of bare PIDs (interpreted in conjunction with -p). Selectors with explicit flags can be mixed with bare PIDs.

Arguments

Flag Description
-<SIG> (e.g. -9, -KILL, -SIGKILL) Signal to send. Default: TERM
--signal SIG Same as the leading-flag form, but in long-flag style
-l, --list List all signal names
-L, --table List all signal names in a numbered table
-n, --no-action Don't send signals; just print matching PIDs
-v, --verbose Print the PID and comm of each signaled process
-t, --tty TTY Match processes whose controlling tty is TTY (repeatable)
-u, --user USER Match processes whose effective user is USER (name or numeric UID, repeatable)
-p, --pid PID Match processes by PID (repeatable)
-c, --command CMD Match processes whose comm is exactly CMD (repeatable)
--help / -V, --version Help / version

The signal can appear anywhere on the command line. Bare positional integers are added to the PID list.

Behavior

Selection

-c values match the process comm exactly; multiple -c values are OR'd. -p values become an exact PID filter. Selectors across categories (-t, -u, -p, -c) are combined with AND.

-l / -L

Identical output to kill -l / kill -L. Standard signals 1–31 only; real-time signals are omitted.

-n (no-action)

Prints matching PIDs, one per line, in ascending order. Useful as a dry-run before signaling.

-v (verbose)

For each successfully signaled process, prints pid: comm.

Exit codes

Code Meaning
0 At least one process matched and was signaled (or list/table requested)
1 No processes matched, or all signal deliveries failed
2 Usage error (unknown signal, no expression given, invalid argument)

Divergences from procps-ng

Behaviour matches procps-ng for the supported flag set; some procps-ng features are not yet implemented:

  • -i (interactive), -f (fast), -w (warnings) mode flags.
  • --ns PID and --nslist NS,... — namespace-based selection.
  • Real-time signals (SIGRTMIN..SIGRTMAX) cannot be named; they are still deliverable by number via --signal N.

Error messages for invalid arguments use different wording.