Signal, ver. 0.7 Alpha (copyleft) Chuck Geigner, 2001 The kill command is used to kill jobs using their PID and a signal (SIGHUP, SIGKILL, etc). This is useful when one knows the PID. But what if you wanted to signal all jobs belonging to user foobar? What if you wanted to kill all programs by name? This usually requires one to use the ps command to get a listing of those processes in order to figure out their PIDs, ownership, what they are named, etc. The signal utility attempts to fill in this need. Usage: signal -[type] -[c|o|p|u|x] [name] {name} {-q} OR signal [-v|-h] signal by PID (normal) -p --pid signal by command name (CMD) -c --cmd signal by username -u --user combine 2 and 4a -o --cmdby option 9 except leave newest proc alone -x --exceptnewest no user interaction req (for scripted use) -q --quiet print the version of signal -v --version print out a helpful message -h --help Do NOT use this utility on ps, grep, or sed processes. Since I use these heavily in processing the data, if one "signal'd" any of these, the program would behave unpredictably. Mainly, this was created to be run as "root" and to send signals to daemons, services, processes with children, processes that spawn other processes, that sort of thing - ctg Examples: To get some basic info about signal: # signal -v To get some help with signal: # signal --help To kill a process with a PID of 12345: # signal -KILL -p 12345 To send SIGHUP to all httpd processes: # signal 1 --cmd httpd To nuke all processes owned by username "sgenung": # signal -9 -u sgenung To kill all commands named "vi" owned by user "sgenung": # signal KILL --cmdby vi sgenung To send HUP to all processes named "mwm" owned by user "print01" except the newest process: # signal -1 -x mwm print01 To send SIGKILL to all processes owned by user "sagenung" with no prompting: # signal KILL --user sagenung -q