Processes
skill
Send signals to processes based on name or criteria.
Additional Notes
skill sends signals to processes matching a given criteria, such as process name, terminal, user, or process ID. It is an older utility that predates pgrep and pkill, and is now largely superseded by those tools. The name comes from "skill" as in "send a signal to kill," not as in proficiency.
skill can match processes by command name, terminal device, user ID, or process ID. It is useful for bulk operations like terminating all processes belonging to a specific user or started from a specific terminal.
Syntax
skill [signal] [options] process_criteria
Parameters
signal: The signal to send (by name likeTERM,KILL,HUPor by number like9,15).process_criteria: Criteria to match processes (name, terminal, user, etc.).
Common Options
-l,--list: List all signal names.-i,--interactive: Ask for confirmation before sending each signal.-w,--warnings: Show warning messages.-n,--no-warnings: Suppress warning messages.-v,--verbose: Show verbose output.-t term: Match processes attached to a specific terminal.-u user: Match processes owned by a specific user.-p pid: Match a specific process ID.-c command: Match processes by command name (default matching mode).
Examples
skill -KILL -u bob
Kill all processes owned by user bob.
skill -TERM -t pts/0
Send SIGTERM to all processes attached to terminal pts/0.
skill -HUP nginx
Send SIGHUP to all processes named nginx.
skill -9 myprogram
Force-kill all processes named myprogram.
skill -l
List all available signal names.
Practical Notes
skillis considered obsolete. Usepkillorkillallinstead.- The command matches the process name as reported by
ps, not the full command line. - Without a signal prefix (like
-TERMor-9), the default signal is SIGTERM (15). - Be careful with
-KILL (-9)as processes cannot clean up resources when killed this way. - Some distributions no longer include
skillby default; it is part of theutil-linuxpackage.